Skip to content

mikeheke/DesignPattern

Repository files navigation

DesignPattern

Design Pattern, OO, Java, Attribute, Operation/Method/Function, Class, Object, Interface, UML

  • Don't repeat yourself.
  • 继承,实现,依赖,关联,聚合,组合

六大设计原则

单一职责原则
里氏替换原则
依赖倒置原则
接口隔离原则
迪米特原则

OO原则

封装变化
针对接口编程,不针对实现编程
多用组合,少用继承
为交互对象之间的松耦合设计而努力
类应该对扩展开发,对修改关闭
依赖抽象,不要依赖具体类
只和朋友交谈
别找我,我会找你
  • 由超类主控一切,当它们需要的时候,自然会去调用子类,这就跟好莱坞一样。

###UML常用图

用例图(User Case Diagram)
类图(Class Diagram)
时序图(Sequence Diagram)
流程图(Activity Diagram)
部署图(Deployment Diagram)

工厂方法模式(Factory Method)

创建对象

抽象工厂模式(Abstract Factory)

创建产品族.

原型模式(Prototype)

克隆对象

单例模式(Singleton)

保证一个类只生成一个实例

模板方法模式(Template Method)

在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。

模板方法模式的本质:固定算法骨架。

对模板方法进行挂钩...; 使用钩子

适配器模式(Adapter)

将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。 对象适配器-组合 类适配器-继承

外观模式(Facade)

  • 整合各个子系统的接口,开放出来一个友好的接口出来。

策略模式(Strategy)

  • 可自由切换的算法实现。

观察者模式(Observer)

  • 观察者模式的本质:触发联动。
  • 订阅模式

命令模式(Command)

  • 把方法调用封装成对象。

状态模式(State)

  • 状态和行为
  • 所谓对象的状态,通常指的就是对象实例的属性的值。而行为指的是对象的功能。
  • 状态--属性
  • 行为--方法
  • 状态决定行为。

组合模式(Composite)

  • 统一的接口处理树形结构。

装饰器模式(Decorator)

  • 动态扩展或增强对象的功能。

代理模式(Proxy)

  • 代理模式的主要目的是控制对对象的访问。

中介模式(Mediator)

桥梁模式(Bridge)

迭代器模式(Iterator)

访问者模式(Visitor)

  • 访问者模式能给一系列对象透明地添加新功能,从而避免在维护期间对这一系列对象进行修改。

享元模式(Flyweight)

  • 享元模式的优点是:减少对象数量,节省内存空间。
  • 享元模式的本质:分离与共享。

About

Design Pattern, OO, UML, Java

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages