- 六大原则
- 单一职责:一个类尽量只实现一个功能
- 依赖倒转原则:统一接口编程,生产标准化
- 迪米特法则:为了增强两个类的复用性,引入第三个类进行传话
- 里氏代换原则:子类完全可以替换父类。
- 多用聚合/组合,少用继承:继承增强了子类和父类的耦合度。
- 开放-封闭原则:可增加新类,但不可对已有的类更改,对修改封闭,对扩展开放。
- 模式
- 简单工厂模式:根据具体的字符实例化具体的运算类,具体的运算类对象成员有操作数,有得到结果的方法。
- 策略模式:将多种策略进行抽象,然后成为context的一个成员,利用多态调用具体的子类。
- 装饰模式:方法之间的套用,一个方法的执行在另一个方法之后。
- 代理模式:代理者和被代理者拥有相同的方法,但被代理者的方法调用的是代理者的同名方法。
- 工厂方法模式:类的实例化延迟到工厂子类,克服了简单工厂不符合开放-封闭原则的缺点。
- 原型模式:深复制,浅复制。
- 模板方法模式:考试题,将每一道题作为一个类,类中调用答案的方法类,填写答案。
- 外观模式:为一组方法提供一个高层接口,客户端调用时,只调用这个高层接口
- 建造者模式:将建造过程声明为一个类,然后根据这个类的具体过程,调用方法。
- 观察者模式:一个对象的变化会影响多个对象行为的变化。
- 抽象工厂模式:在工厂方法的基础上,为每个具体子工厂添加一个与原产品类似的产品的实例化方法(系列产品)。
- 状态模式:不同的状态引起不同的行为。
- 适配器模式:为两个接口提供中间接口。
- 备忘录模式:保存当前的状态,到一定的时期,可恢复到保存的状态。
- 组合模式:不论是对象的组合还是单个对象都存在一致地操作方法,如何调用的是组合的操作方法,则方法具体分配到单个对象。
- 迭代器模式:为遍历提供各种不同的方式,从前向后,从后向前。
- 单例模式:一个类只实例化一次,构造函数私有,类内部存在调用构造函数方法。
- 桥接模式:变化的角度过多,则分别建造不同的类对变化进行封装。
- 命令模式:每个命令独自成类然后对客户进行修饰,命令可被记录,撤销。
- 职责链模式:一个请求,由低级向高级依次被执行,必须设置好下一个处理者。
- 中介者模式:中介者包含两个或多个通信者,并且有通信方法,可根据发消息者调用被发消息者的应答方法。
- 享元模式:如果某个对象已被实例化,那么客户端可调用多次。
- 解释器模式:将客户输入的数据转换成机器可执行的语言
- 访问者模式:数据结构稳定,作用于数据结构上的操作集合与数据解耦,使操作集合可以自由演化