单例模式
- 不通过构造方法获取实例
- 有一个静态属性保存自身
- 暴露一个公共方法来获取实例(判断是否有实例,没有就new,有就直接返回)
1 | class SingleTon { |
工厂模式
- 通过不同的参数来返回不同的对象实例
- 被返回的实例通常是同一功能的不同实现
1 | interface Login { |
命令链模式以松散耦合主题为基础,发送消息、命令和请求,或通过一组处理程序发送任意内容。
- 每个处理程序都会自行判断自己能否处理请求。如果可以,该请求被处理,进程停止。
- 我们可以为系统添加或移除处理程序,而不影响其他处理程序。
1 | interface ICommand { |
观察者模式:
- 一个对象通过添加一个方法(该方法允许另一个对象,即观察者 注册自己)使本身变得可观察。
- 当可观察的对象更改时,它会将消息发送到已注册的观察者。这些观察者使用该信息执行的操作与可观察的对象无关。
- 结果是对象可以相互对话,而不必了解原因。
1 | interface IObserver { |