设计模式与方法或库的使用方式不同, 你很难直接在自己的程序中套用某个设计模式。 模式并不是一段特定的代码, 而是解决特定问题的一般性概念。 你可以根据模式来实现符合自己程序实际所需的解决方案。
模式分类:
· 创建型模式提供创建对象的机制, 增加已有代码的灵活性和可复用性。
· 结构型模式介绍如何将对象和类组装成较大的结构, 并同时保持结构的灵活和高效。
· 行为模式负责对象间的高效沟通和职责委派。 面向接口进行开发,而不是面向实现,组合优于继承。
SOLID原则:
· S:单一职责原则:修改一个类的原因只能有一个。(Single Responsibility Principle)
· O:开闭原则:对于扩展,类应该是“开放”的;对于修改,类则应是“封闭”的。(Open/closed Principle)
· L:里氏替换原则:当你扩展一个类时,记住你应该要能在不修改客户端代码的情况下将子类的对象作为父类对象进行传递。(Liskov Substitution Principle) 子类方法的参数类型必须与其超类的参数类型相匹配或更加抽象(或者是父类)。 子类方法的返回值类型必须与超类方法的返回值类型或是其子类别相匹配。
· I:接口隔离原则:尽量将臃肿庞大的接口拆分成更小的和更具体的接口,让接口中只包含客户感兴趣的方法。(Interface Segregation Principle)
· D:依赖倒置原则:高层次的类不应该依赖于低层次的类。两者都应该依赖于抽象接口。抽象接口不应依赖于具体实现。具体实现应该依赖于抽象接口。(Dependency Inversion Principle)