面向对象基础
抽象
封装
多态
继承
面向对象原则
封装变化
针对接口编程,而不是针对实现编程
多用组合少用继承
为了交互对象的松耦合设计而努力(观察者模式)
类对扩展开放,对修改关闭
依赖抽象,不要依赖具体类
只和朋友交谈
别找我,我会找你
类应该只有一个改变的理由
面向对象模式
策略模式:
定义算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。
观察者模式
定义了对象之间的一对多依赖,当一个对象改变状态时,他的所有依赖者都会收到通知并自动更新。
装饰者模式
动态的将责任附加到对象上,若要扩展功能装饰者提供了比继承更有弹性的替代方案。
代理模式
为另一个对象提供代表,以便控制客户对对象的访问,管理访问的方式有很多种。