• 敏捷开发原则-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都是面向对象设计的核心所在,遵循这个原则可以带来灵活性,可重用性及可维护性等好处。

  • 相关阅读:
    vue使用Highcharts图表
    Laya 骨骼动画播放
    unity3d学习笔记
    unity学习笔记
    Laya本地存储对象,读取上来之后没有类方法了
    Laya2学习笔记
    Laya vscode f5断点调试开启
    fairyGUI学习笔记
    使用docker安装swoole环境
    docker学习笔记
  • 原文地址:https://www.cnblogs.com/culushitai/p/10265152.html
Copyright © 2020-2023  润新知