/DesignPattern

常用的设计模式(java 实现)

Primary LanguageJava

常用的设计模式(java 实现)

参考资料:

https://github.com/iluwatar/java-design-patterns

https://www.gitbook.com/book/quanke/design-pattern-java/details

Android 中的设计模式:

https://github.com/simple-android-framework-exchange/android_design_patterns_analysis

面向对象设计原则

  • 单一职责原则(Single Responsibility Principle, SRP)

一个类只负责一个功能领域中的相 应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因

  • 开闭原则(Open-Closed Principle, OCP)

一个软件实体应当对扩展开放,对修改关闭。即软件 实体应尽量在不修改原有代码的情况下进行扩展。

  • 里氏代换原则(Liskov Substitution Principle, LSP)

所有引用基类(父类)的地方必须能透明地使用其子类的对象。

  • 依赖倒转原则(Dependency Inversion Principle, DIP)

抽象不应该依赖于细节,细节应当依赖于抽象。换言之,要针对接口编程,而不是针对实现编程。

  • 接口隔离原则(Interface Segregation Principle, ISP)

使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口。

  • 合成复用原则(Composite Reuse Principle, CRP)

尽量使用对象组合,而不是继承来达到复 用的目的。

  • 迪米特法则(Law of Demeter, LoD)

一个软件实体应当尽可能少地与其他实体发生相互作用。

创建型

  • 单例
  • 工厂
  • 建造者
  • 原型

结构型

  • 适配器
  • 装饰
  • 外观
  • 代理
  • 桥接
  • 组合
  • 享元

行为型

  • 观察者
  • 策略
  • 模板方法
  • 责任链
  • 命令
  • 访问者
  • 中介者
  • 备忘录
  • 状态
  • 解释器