设计模式初步专题(自学,适合初级.更深入的会在框架阶段)

1.什么是设计模式?


设计模式是一套被反复使用的、多数人知晓、经过分类编目的优秀代码设计经验的总结。特定环境下特定问题的处理方法。
•重用设计和代码 重用设计比重用代码更有意义,自动带来代码重用
•提高扩展性 大量使用面向接口编程,预留扩展插槽,新的功能或特性很容易加入到系统中来。
•提高灵活性 通过组合提高灵活性,可允许代码修改平稳发生,对一处修改不会波及到其他模块。
•提高开发效率 正确使用设计模式,可以节省大量的时间。

2.设计模式的优点有哪些?


3. 23种经典设计模式都有哪些,如何分类?

 


4.面向对象的设计原则有哪些?


面向对象设计原则是面向对象设计的基石,面向对象设计质量的依据和保障,设计模式是面向对象设计原则的经典应用。
(1)单一职责原则 :SRP
(2)开闭原则:OCP
(3)里氏替代原则:LSP
(4)依赖注入原则:DIP
(5)接口分离原则:ISP
(6)迪米特原则:LOD
(7)组合/聚合复用原则:CARP
开闭原则具有理想主义色彩,它是面向对象设计的终极目标。其它设计原则都可以看作是开闭原则的实现手段或方法。


5.开闭原则的含义和实现。


6.依赖注入原则的含义和实现

7.【上机】使用简单工厂模式实现可以进行四则运算的运算器


8.【上机】使用工厂方法模式完善可以进行四则运算的运算器


9.【上机】写出饿汉式、懒汉式的单例模式。


10.结合Java IO流体系说明装饰模式。


java IO中需要完成对不同输入输出源的操作,如果单纯的使用继承这一方式,无疑需要很多的类。比如说,我们操作文件需要一个类,实现文件的字节读取需要一个类,实现文件的字符读取又需要一个类....依次类推每个特定的操作都需要一个特定的类。这无疑会导致大量的IO继承类的出现。显然对于编程是很不利的。
而使用装饰模式则可以很好的解决这一问题,在装饰模式中:节点流(如FileInputStream)直接与输入源交互,之后通过过滤流(FilterInputStream)进行装饰,这样获得的io对象便具有某几个的功能,很好的拓展了IO的功能。

11.结合InputStreamReader类说明适配器模式。


12.请选择一个对你所熟悉的一个设计模式进行介绍。

原文地址:https://www.cnblogs.com/ren549047861/p/11294276.html