Java设计模式

wshunli
2018-09-05 / 0 评论 / 373 阅读 / 正在检测是否收录...

设计模式也是比较欠缺的一方面,这次看的是 《设计模式之禅》 ,前面看了一点 《Head First 设计模式》感觉都是图片有点乱。

设计原则

单一职责原则:应该有且仅有一个原因引起类的变更,对于接口设计时要做到单一职责。

里氏替换原则:只要有父类出现的地方,替换为子类也不会产生任何问题或异常。
  
依赖倒置原则:模块间的依赖关系是通过接口或抽象类产生的(面向接口编程)。

接口隔离原则:客户不应该依赖它不需要的接口;类间的依赖关系应建立在最小的接口上;尽量使用多个专门的接口。

迪米特法则:一个对象应对其他对象有最少的了解;只和直接朋友交流,朋友间也是有距离的;一个方法中尽量不引入类中不存在的对象;减少 public 方法和属性。

开闭原则:对扩展开放,对修改关闭;通过扩展来实现变化;不允许出现接口或抽象方法中不存在的 public 方法。

design_pattern

一、创建型模式

  • 单例模式:https://www.wshunli.com/posts/d1c4534.html

  • 工厂模式:

    • 简单工厂、抽象产品接口,工厂传参决定创建的实例

    • 工厂方法、抽象产品接口,使用不同的工厂创建不同的实例

    • 抽象工厂、工厂方法的工厂方法,同一工厂可以创建不同的实例

  • 建造模式:构造复杂对象

  • 原型模式:克隆对象

二、结构型模式

  • 适配器模式:根据目标,在适配器中添加相应方法。适配器中传入源对象或者继承源对象,并添加方法
  • 外观模式:提供统一接口访问子系统方法
  • 装饰者模式:在不改变源类的情况下,建一个包装对象,来扩展原有类功能
  • 代理模式:静态代理、动态代理
  • 组合模式:View 的树状结构,https://www.wshunli.com/posts/fb6e1df3.html
  • 桥接模式:使用抽象类的抽象方法,把抽象和实现分隔开
  • 享元模式:尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象

三、行为型模式

参考资料
1、图说设计模式 — Graphic Design Patterns
https://design-patterns.readthedocs.io/zh_CN/latest/index.html#
2、设计模式Java版
https://quanke.gitbooks.io/design-pattern-java/

0

评论 (0)

取消