设计模式开篇

oop特性

1.封装,对外部隐藏内部的实现,对数据进行隐藏 2.多态性,根据类型的不一致,调用不同的方法 3.继承,可以继承其它类的功能 4.抽象-提供简易接口给客户端,客户端可以调用接口中的方法 5.混合,可以构建复杂的数据结构

# A类在B类下
class A(object):
    def a1(self):
        print("a1")
class B(object):
    def b(self):
        print("b")
        A().a1()
objectB = B()
objectB.b()

1.打开/关闭原则:对扩展开放(在不改变原有代码的情况下添加功能),对修改关闭 2.控制原理的反转:控制原理的反转表明高级模块不应该依赖于低级模块;它们都应该依赖于抽象。细节应该取决于抽象,而不是相反。这个原则表明,任何两个模块都不应该以一种紧密的方式相互依赖。 4.接口隔离原则:客户端不应该依赖它不需要的接口,一个类对另一个类的依赖应该建立在最小的接口 5.单一责任原则:一个类只负责一个功能 6.替代原则 —在扩展子类的时候,不需要重写父类的功能


设计模式分为三大类:1.创建型-它们的工作原理是如何创建对象-他们隔离了对象创建的细节-代码与要创建的对象类型无关 2.结构型-它们设计对象和类的结构以便获得更大的结果-它们关注简化结构和发现类和对象之间的关系-它们关注类的继承与混合 3.行为型-他们关注对象之间的交互和对象的责任-对象应该能够交互并且仍然可以松散耦合