Java设计模式:23种设计模式全⾯解析(超级详细)以及在源码中的应⽤
从⽹络上找的设计模式, 很全⾯,只要把UML类图看懂了, 照着类图将代码实现是很容易的事情.
步骤: 先看懂类图, 然后将代码实现, 之后再看⽂字
7⼤设计原则:
1: 单⼀职责原则: 类应该只有⼀个职责,或者功能
2: 接⼝隔离原则: ⼀个类不应该依赖与他不相关,不需要的接⼝, ⼀个类对另⼀个类的依赖应该建⽴在最⼩的接⼝上
3: 依赖倒置原则: 依赖抽象不依赖具体,思想是:⾯向接⼝编程
4: ⾥⽒替换原则: java中的继承有弊端, 少⽤继承, 多使⽤聚合,组合,依赖, 因为⼦类继承后,很容易不⼩⼼将⽗类中的⽅法重写, ⽽⼦类不知道,调⽗类⽅法时候,容易混淆, 换句话就是:
所有使⽤⽗类⽅
法的地⽅,也能透明的使⽤其⼦类的对象, ⼦类尽量不要重写⽗类的⽅法, 可以将⽗类和⼦类都继承⼀个更通俗的⽗类,
5: 开闭原则(ocp原则): 对扩展开放(提供⽅), 对修改关闭(使⽤⽅)
6: 迪⽶特原则: 最少知道原则, ⼀个类对⾃⼰依赖的类知道越少越好,被依赖的类尽量将逻辑都封装到类中,只提供外⼀个⼊⼝就好, ⼜叫: 只和直接朋友通信,(直接朋友:成员变量,⽅
法⼊参, ⽅法返回
值中的类都是直接朋友, 局部变量中的类不是直接朋友, 也就是说陌⽣的类,不要以局部变量的⽅式出现在类中)
7: 合成复⽤原则: 尽量使⽤聚合,组合的⽅式, 少⽤继承, 这样做⽬的是 松耦合
⼀: 1.1:简单⼯⼚模式(⼜叫静态⼯⼚模式): 是将各种对象的创建都交给⼀个⼯⼚类, client要使⽤各种对象时候,只需要在client中聚合这个⼯⼚类即可,
⽐如这个图中,胡椒披萨,榴莲披萨,原味披萨, 都有⼀个共同的基类Pizza, ⼯⼚类SimpleFactory 根据不同类型返回对应的披萨对象,, OrderPizza这个就是client类, 在OrderPizza类
中聚合⼯⼚类即可, 就可以根据不同类型创造不同⼝味的披萨了