关闭

【设计模式】单一职责原则、开放封闭原则、依赖倒转原则

标签: 设计模式开放封闭原则依赖倒转原则
317人阅读 评论(0) 收藏 举报
分类:

本文内容参考自《大话设计模式》(程杰 著)

1. 单一职责原则(SRP)

就一个类而言,应该仅有一个引起它变化的原因。(反例:游戏逻辑与界面写在一起,则引起变化的原因有2个)

2. 开放-封闭原则(OCP)

软件实体(类,模块,函数等等)应该可以扩展,但是不可修改。

两个特征:对扩展是开放的,对更改是封闭的。
(简单工厂模式就不符合这个原则,而工厂方法模式符合)

3. 依赖倒转原则

A. 高层模块不应该依赖低层模块,两者都应该依赖抽象。
这里写图片描述
B. 抽象不应该依赖细节,细节应该依赖抽象。(即针对接口编程,不要针对实现编程)

为何叫倒转:一般我会把常用代码写成函数库,之后写项目的时候直接调用底层的函数即可,比如访问数据库的代码等等,这叫做高层模块依赖低层模块。但是如果又有新的项目,业务逻辑的高层模块是一样的,不过客户希望用不同的数据库或者存储方式,这个时候由于高层模块依赖于低层的模块,因此无法复用。

里氏代换原则(LSP)

子类型必须能够替换掉它们的父类型。(即,在软件里面,把父类都替换成它的子类,程序的行为没有变化。这样子,才能在不修改父类的情况下进行扩展)

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:268707次
    • 积分:5361
    • 等级:
    • 排名:第5015名
    • 原创:260篇
    • 转载:16篇
    • 译文:0篇
    • 评论:136条
    Personal Information

    中山大学 计算机科学与技术

    腾讯科技 后台开发工程师

    e-mail:jiangezh@qq.com

    GitHub:https://github.com/jiangeZh

    博客专栏
    最新评论