22设计模式
33
44创建模式
5+
561、设计模式之Factory (简单工厂)
67 工厂模式:提供创建对象的接口
78 工厂模式的设计好处:
13142、设计模式之abstractFactory(抽象工厂)
1415抽象工厂类:提供创建对象实例的抽象类
1516抽象工厂设计优点:
16- 1)、将创建对象实例的方法提取出在抽象类中实现,其子类更专注于何时创建实例,不用注重如何实例化。
17- (将共同的部分封装在抽象类中,提供各种不同的子类实现)
17+ 1)、将创建对象实例的方法提取出在抽象类中实现,其子类更专注于何时创建实例,不用注重如何实例化。(将共同的部分封装在抽象类中,提供各种不同的子类实现)
1818 2)、实现了程序间的松耦合
1919 3)、易于维护与扩展
2020
@@ -107,6 +107,7 @@ Flyweight模式是一个提高程序效率和性能的模式,会大大加快程
107107
108108
109109行为模式
110+
1101111、设计模式之Template(模板方法)
111112定义一个操作中算法的骨架,将一些步骤的执行延迟到其子类中。其实java的抽象类本来就是Template模式
112113
@@ -127,6 +128,7 @@ Memento模式在Jsp+Javabean中的应用
127128
128129
1291303、设计模式之Observer(观察者)
131+
130132Observer(观察者)模式是比较常用的一个模式,尤其在界面设计中应用广泛
131133如何使用:
132134Java的API还为为我们提供现成的Observer接口Java.util.Observer.我们只要直接使用它就可以.
@@ -147,6 +149,7 @@ Chain of Responsibility(CoR) 是用一系列类(classes)试图处理一个请求
1471495、设计模式之Command(命令)
148150
149151Command定义
152+
150153不少Command模式的代码都是针对图形界面的,它实际就是菜单命令,我们在一个下拉菜单选择一个命令时,然后会执行一些动作
151154将这些命令封装成在一个类中,然后用户(调用者)再对这个类进行操作,这就是Command模式,换句话说,
152155本来用户(调用者)是直接调用这些命令的,如菜单上打开文档(调用者),就直接指向打开文档的代码,使用Command模式,就是在这两者之间增加一个中间者,
@@ -168,6 +171,7 @@ Stratrgy优点:体现了高内聚低耦合的特性,增强扩展性
168171
169172
170173Strategy适合下列场合:
174+
1711751).以不同的格式保存文件;
172176
1731772).以不同的算法压缩文件;
@@ -186,6 +190,7 @@ Mediator定义:
186190Mediator模式在事件驱动类应用中比较多,例如界面设计GUI.;聊天,消息传递等,
187191
188192 什么情况下使用中介者模式:
193+
189194 1)、 N 个对象之间产生了相互的依赖关系,其中N 大于2,注意是相互的依赖;
190195 2)、 多个对象有依赖关系,但是依赖的行为尚不确定或者有发生改变的可能,在这种情况下一般建议采
191196 用中介者模式,降低变更引起的风险扩散;
@@ -206,17 +211,21 @@ Visitor定义
206211
207212
208213最后补充下类的设计原则
214+
209215六大设计原则:
216+
2102171、单一设计原则(Single Responsibility Principle)
211218单一设计原则:应该有且仅有一个原因引起类的变更
212219单一原则的好处:
220+
2132211)、类的复杂性降低
2142222)、可读性提高
2152233)、可维护性提高
2162244)、变更引起的风险降低
217225
2182262、里氏替换原则(Liskov Substitution Principle)
219227里氏替换原则:所有引用基类的地方必须能透明地使用其子类的对象。
228+
2202291)、子类必须完全的实现父类的方法。
2212302)、子类可以有自己的个性。
2222313)、覆盖或实现父类的方法时输入参数可以被放大。(子类中方法的前置条件必须与超类中被覆盖的方法的前置条件相同或者更宽松。)
@@ -225,12 +234,14 @@ Visitor定义
2252343、依赖倒置原则(Dependence Inversion Principle)
226235
2272364、接口隔离原则(Interface Segregation Principle)
237+
2282381)、接口尽量小。
2292392)、接口要高内聚。
2302403)、定制服务
2312414)、接口设计是有限度的。
232242
2332435、迪米特法则(Low Of Demeter)
244+
234245只和朋友交流。
235246朋友间也是有距离的。
236247是自己的就是自己的。
0 commit comments