最近在学设计模式,才理解真正的面向对象编程,明白面向对象编程对软件开发的重要性。
以下是有关于设计模式的一点笔记。
面向对象编程的三大特性:封装、继承、多态。
一个好的软件应该具备以下特点:代码易于维护、易扩展、易复用,类与类之间关系应强内聚、松耦合。
设计模式使得程序更加灵活,容易修改,并且易于复用,类之间的耦合越弱,越有利于复用,一个处于弱耦合的类被修改,不会对有关系的类造成波及。
设计模式有六大原则:
单一职责原则
就一个类而言,应该仅有一个引起它变化的原则。
如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。
开放封闭原则
软件实体(类、模块、函数等等)应该可以扩展,但是不可以修改。
对于扩展是开放的,对于更改是封闭的。无论模块是多么的"封闭",都会存在一些无发对之封闭的变化。既然不可能完全封闭,设计人员必须对于他设计的模块应该堆哪种变化封闭做出选择,猜测出最有可能发生的变化种类,然后构造抽象来隔离那些变化。开放封闭原则是面向对象设计的核心所在,遵循这个原则可以使程序可维护、可扩展、可复用、灵活性好。