棱角分明设计模式 - 原则

学习了大半年的设计模式,从入门到实战,我深切的发现,领会一个设计模式的优势以及应用场景是多么的重要。
本系列取材于《研磨设计模式》,侧重于各模式的优缺点、主战场及变式。
当然,我的风格依旧是:挑着写如果你发现少了哪个模式,也不必吃惊哈哈哈。
新手入门或者进阶可以去我的另外两个系列转转。

文章目录

    • 单一职责原则
    • 开放 - 关闭原则
    • 依赖倒置原则
    • 优先使用组合,而非继承
    • 类的数据应隐藏在类的内部

单一职责原则

一个类只为实现某原子模块而存在,原子模块可以由多个类共同组成;一个函数,只为实现某一原子功能而存在,当然,某功能也可以由多个函数组成。

原子,即单一,不可再分。

开放 - 关闭原则

封装好的类,对拓展开放,对修改封闭。

依赖倒置原则

这是实现上面那个原则的基础,我个人认为这是贯穿整套设计模式的重要思想。

面向接口编程,高内聚,松耦合。

就像我有一台电脑,和一个U盘,电脑不需要知道U盘的内部构造,U盘也不用管电脑的主板设置。它们只要知道,电脑上有一个USB接口,U盘也有一个USB接口,当两个接口对上的时候,它俩就可以互通有无。

电脑能因为插上的U盘不是那个特定的U盘就不工作了么?U盘能因为插的不是那个电脑而不让读取了吗?显然不可能。


再比如,我用C++写的服务器,你用JAVA写的客户端,我们之间能够通信,就是基于TCP流这个接口。

优先使用组合,而非继承

继承一多,嘿。

类的数据应隐藏在类的内部

这是C++的封装性。

你可能感兴趣的:(#,棱角分明设计模式)