面向对象的基本概念是 封装、继承、多态与抽象。
但面向对象设计呢?开放关闭原则 :模块对扩展开放,对修改关闭。
里氏置换原则 :如果调用的是父类的话,那么换成子类也可以完成。
依赖倒转原则 :要针对接口编程,而不是实现编程。
接口隔离原则 :每个接口应该代表一种角色。
合成/复用原则 :少继承,多合成。
最小知识原则 :不要和陌生人说话。
创建型模式:
单例模式、抽象工厂模式、建造者模式、
工厂模式、原型模式。
结构型模式:
适配器模式、
桥接模式、装饰模式、组合模式、
外观模式、享元模式、代理模式。
行为型模式:
模版方法模式、命令模式、迭代器模式、
观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、
职责链模式、访问者模式。