设计模式:
1.简单工厂模式
2.策略模式
定义了算法家族,分别封装起来,让他们之间可以相互替换,此模式的变化,不会影响到使用算法的用户;
策略模式是定义一系列算法的方法,从概念上讲,这些算法完成的都是相同的工作,只是实现不同,他可以以相同的方式调用这些算法,减少了算法类和使用算法类之间的偶合;
策略模式简化了单元测试;
在分析中遇到在不同时间应用不同的规则,就可以考虑使用策略模式;
3.装饰模式
动态地给一个对象添加一些职责,就增加功能来说,装饰模式比生成子类模式更加的灵活。
面向对象设计的原则
1.单一原则
就一个类而言,应该仅有一个引起他变化的原因;
2.开放-扩展原则
软件实体(类,函数,模块)可以扩展,不可以修改;即扩展是开放的,修改是封闭的;
面对需求,对程序的改动是通过增加代码实现的,而不是更改现有代码;
3.依赖倒转原则
抽象不应该依赖细节,细节应该依赖抽象