• 敏捷开发原则-OCP(开放-封闭原则)


    OCP(The Open Closed Principle):

      定义:

            对拓展开放:也就是说模块的行为是可扩展的,当应用程序中的需求发生改变时,我们可以使模块表现出全新的或与以往不同的行为。

            对更改封闭:模块的源代码是不可更改的,已经实现的功能源代码任何人都不允许修改。

      开放针对的是新增的功能,更改针对的是已有的功能,所以这2个特征其实并不冲突,对新增拓展,对已有封闭。

      

      

    一个简单的例子,在Client类中使用Service类,如果我们有多种不同的Service的实现需要在Client中处理,那么Client中就要使用Switch或者大量的if...else语句去判断

    不同场景的时候要使用哪种Service,而且当Service的种类新增时,那么相应的Client中的语句也要做出相应的调整。

    一个遵循OCP的设计,ServiceInterface是一个接口或者一个抽象类,Client中去使用这个抽象类,而DataSourceService和SocketService是ServiceInterface的派生类,那么不论派生类

    中做了如何修改,或者新增其他的派生类,Client类中无需再对应的做出其他任何改动。

      结论:在许多方面,OCP都是面向对象设计的核心所在,遵循这个原则可以带来灵活性,可重用性及可维护性等好处。

  • 相关阅读:
    计算机硬件内存双通道只显示一根内存条,不能组成双通道
    VMware 虚拟机安装win10操作系统系列问题解决
    编译语言和解释语言区别
    SPSS 24下载与安装+授权码
    Reg文件操作
    DLL注册表文件相关内容
    安装TensorFlow失败
    Anaconda 包管理与环境管理
    Cookie设置域名问题,cookie跨域
    准备篇(二)C语言
  • 原文地址:https://www.cnblogs.com/culushitai/p/10265152.html
Copyright © 2020-2023  润新知