OO基础算法
1、抽象编程
2、封装spa
3、多态设计
4、继承继承
OO原则接口
1、封装变化开发
2、多用组合,少用继承基础
3、针对接口编程,不针对实现编程扩展
OO模式软件
策略模式(Strategy Pattern)——定义算法族,分别封装起来,让它们之间能够互相替换,此模式让算法的变化独立于使用算法的客户
要点
1、知道OO基础,并不足以让你设计出良好的OO系统
2、良好的OO设计必须具有可复用、可扩展、可维护三个特性
3、模式能够让咱们建造出具备良好OO设计质量的系统
4、模式被认为是历经验证的OO设计经验
5、模式不是代码,而是针对设计问题的通用解决方案。你可把它们应用到特定的应用中
6、模式不是发明,而是被发现
7、大多数的模式和原则,都着眼于软件变化的主题
8、大多数的模式都容许系统局部改变独立于其余部分
9、咱们常把系统中会变化的部分抽出来封装
10、模式让开发人员之间有共享的语言,可以最大化沟通的价值
利用继承来提供Duck的行为,这会致使哪些缺点?
1、代码在多个子类中重复
2、运行时的行为不容易改变
3、很难知道全部鸭子的所有行为
4、改变会牵一发动全身,形成其余鸭子不想要的改变