本文记录一些有关面向对象、设计模式等相关内容的笔记,供自己或他人于编程过程中作参考。并较详细介绍了简单工厂模式(虽然并不属于23种设计模式)
1. 代码命名需要规范;
2. 注意非法输入、报异常等情况;
3. 面向对象的优点:可维护、可复用、可扩展、灵活性好,可以用活字印刷相对刻板印刷的优势来加深理解。
4. 面向对象的三大基本特征:封装、继承、多态;五大基本原则:单一职责原则、开放-封闭原则、依赖倒转原则、里氏替换原则、接口分离原则(迪米特法则)
5. 降低耦合度,例如可以使用封装让业务逻辑与界面逻辑分离,同时业务逻辑也可以被其他应用所复用
6. 假设有一个Operation运算类,需要增加开根号运算,可以在switch中增加一个分支,但是这种做法会把原来已经运行良好的运算功能代码暴露出来,这样会造成不良影响。比较好的做法是把加减乘除等运算分离(使用继承和多态的方法)
7. 简单工厂模式
简单工厂模式最大的优点是工厂类包含了必要的逻辑判断,根据客户端的选择条件动态地实例化相关的类。对于客户端来说,去除了与具体产品的依赖。但问题也就出现在这儿,增加一个功能需要在工厂类中加case分支条件,这意味着不但对扩展开放了,也对修改开放了,违背了开放-封闭原则。如图1-1所示为简单工厂模式的UML类图。
8. 待补充...