• 0x00、7大设计模式原则 和 23种设计模式


    阅读先导

    你需要对 C#基础、面向对象(OO)有一定的基础,包括不限于:封装、继承、多态、重写、抽象类、接口等;

    学习 设计模式 是不限开发语言的,本教程是用 C# 代码示例的,你也可以用 C++、java、python、php等具有面向对象的语言来进行学习本教程;

    每一个开发人员都 必须要 掌握 面向对象 这一基础内容,而且需要在项目开发中灵活运用;

    面向对象 不是很难理解,我觉得主要难的还是在不能很好的去实践它;

    什么是设计模式(design pattern)?

    在软件工程中,设计模式 是:对软件设计中普遍存在的各种问题,所提出的解决方案;(记住这句话)

    这个术语是由埃里希·伽玛(Erich Gamma)等人在1990年代从建筑设计领域引入到计算机科学的;

    就好比上图中的 大厦vs简易房,前者因为规模大,开发时必须有有效的设计规划、而后者因为规模太小、可以跳过设计直接建造(但也不建议)。如果前者不设计规划,那么这个搭建这个大厦后肯定会出现各种各样的问题;

    软件开发也是一样的道理,所以,在开发项目时,是务必要有一定的的软件设计模式基础的;

    设计模式有什么重要性?

    拿实际工作经历来说,当一个项目开发完后,如果客户提出增新功能,怎么办?

    如果项目开发完后,原来程序员离职,你接手维护该项目怎么办?(代码需要强维护性,即可读性、规范性,接手项目才能快速)

    目前程序员门槛越来越高,一线IT公司(大厂),都会问你在实际项目中使用过什么设计模式,怎样使用的,解决了什么问题

    设计模式一般出现在项目中哪个阶段?  面向对象(OO)=>功能模块(设计模式+数据结构与算法)=>框架(这里也使用到设计模式)=> 架构(服务器集群);

    如果想成为合格软件工程师,那就花时间来研究下设计模式是非常必要的;

    设计模式原则

    所有的(23种)设计模式都需要遵守的原则,称为:设计模式原则;

    设计模式原则,其实就是程序员在编程时,应当遵守的原则,也是各种设计模式的基础(即:设计模式之所以这样设计,其实所依据的就是遵守这7大原则)

    常用的七大设计模式原则有:

    1. 单一职责原则

    2. 接口隔离原则

    3. 依赖倒转(倒置)原则

    4. 里氏替换原则

    5. 开闭原则

    6. 迪米特法则

    7. 合成复用原则

    注意:这7大原则和及其概念,必须要背,且必须要理解里面的含义;

    设计模式的目

    设计模式,是为了让程序,具有更好的:

    1. 代码重用性(即:相同功能的代码,不用多次编写)
    2. 可读性(即:编程规范性,便于其他程序员的阅读和理解)
    3. 可扩展性(即:当需要增加新的功能时,非常的方便,称为可维扩)
    4. 可靠性(即:当我们增加新的功能后,对原来的功能没有影响)
    5. 使程序呈现 高内聚,低耦合 的特性(模块内强依赖,模块间依赖很低)

    金句:

    设计模式包含了面向对象的精髓,“懂了设计模式,你就懂了面向对象分析和设计(OOA/D)的精要”

    Scott Mayers 在其巨著《Effective C++》 就曾经说过: C++老手和 C++新手的区别就是前者手背上有很多伤疤

    下一篇,我们开始讲解第一种设计模式原则:单一职责原则

  • 相关阅读:
    5分钟轻松应对 MySQL DBA 面试
    数据库优化总结
    13-Python与设计模式--责任链模式
    22-Python与设计模式--状态模式
    23-Python与设计模式--设计原则
    21-Python与设计模式--备忘录模式
    20-Python与设计模式--解释器模式
    19-Python与设计模式--观察者模式
    17-Python与设计模式--迭代器模式
    18-Python与设计模式--访问者模式
  • 原文地址:https://www.cnblogs.com/abc1069/p/16088697.html
Copyright © 2020-2023  润新知