美文网首页
七大原则-开放-封闭原则

七大原则-开放-封闭原则

作者: winter_coder | 来源:发表于2020-03-02 09:34 被阅读0次

开闭原则通过新增代码,避免通过修改原有代码实现产品迭代
开闭原则要贯穿在软件开发的各个层级中,要利用在每一个方法中,由方法组成的类中,由功能密切的类组成的模块中,由相互依存的模块组成的项目中。

解决俩个问题:

  1. 新增业务需要修改原有代码
  2. 随着业务增加,判断语句的暴增问题
  3. 保持软件产品的稳定性
  4. 不影响原有测试代码的运行
先写个工厂接口,预知未来可能的变化,需要生产线方法,如下:

public interface IFactory {
    String prodLine();
}
满足客户1的工厂FactoryA实现IFactory,生产产品A,如下:

public class FactoryA implements IFactory{
    @Override
    public String prodLine() {
        return "产品A";
    }
}
对于客户1中的代码:

public class Client1 {
    public static void main(String args[]) {
        System.out.println("我订购并收到产品:"+order());
    }

    private static String order(){
        IFactory factory = new FactoryA();
        return factory.prodLine();
    }
}
客户1中持有工厂接口IFactory的引用,指向其实现类,
运行之后,可以满足客户1的需求:

 我订购并收到产品:产品A
现在公司需要拓展业务满足客户2的需求,只需添加一个工厂接口IFactory的实现类,生产B产品,如下:

public class FactoryB implements IFactory {

    @Override
    public String prodLine() {
        return "产品B";
    }

}
客户B中的代码

public class Client2 {
    public static void main(String args[]) {
        System.out.println("我订购并收到产品:"+order());
    }

    private static String order(){
        IFactory factory = new FactoryB();
        return factory.prodLine();
    }
}
运行后,可以满足客户B的需求


我订购并收到产品:产品B
这样相当于公司为每一位客户,私人订制了一个工厂,专门生产其所需要的产品,丝毫不受生产其他产品的影响,而且是保密生产,客户2所需的产品B,对于客户1是不可见的,绝对的客户利益至上。

相关文章

  • iOS开发知识体系之《设计原则》

    七大设计原则:单一职责原则、里式替换原则、 依赖倒置原则、 接口隔离原则、迪米特法则、开放封闭原则、组合/聚合复用...

  • 1.设计原则

    设计模式(面向对象)有七大原则,分别是: 开放-封闭原则 单一职责原则 依赖倒转原则 迪米特法则(也称为最小知识原...

  • 六大设计原则-开放封闭原则

    开放封闭原则 Open Closed Principle 简称OCP 什么是开放封闭原则 软件实体(类,模块,方法...

  • 七大原则-开放-封闭原则

    开闭原则通过新增代码,避免通过修改原有代码实现产品迭代开闭原则要贯穿在软件开发的各个层级中,要利用在每一个方法中,...

  • 面向对象的5个基本设计原则

    单一职责原则,开放封闭原则,依赖倒置原则,接口隔离原则和Liskov替换原则

  • 开放封闭原则

    本文是对敏捷软件开发第九章开发-封闭原则的学习笔记。 一句话,软件实体应该是可扩展但是不可修改的。 对于扩展是开放...

  • 开放-封闭原则

    对修改关闭,对增加开放

  • 开放 — 封闭原则

    在软件设计模式中,这种不能修改,但可以扩展的思想是重要的一种设计原则,是开放—封闭原则(The Open-Clos...

  • 装饰器1

    开放封闭原则 讲装饰器之前我们先来了解一下开放封闭原则 开放封闭原则:软件实体应该是可扩展,而不可修改的。也就是说...

  • 第4章 考研求职两不误--开放-封闭原则

    开放-封闭原则 开放-封闭原则,是说软件实体(类、模块、函数等等)应该可以扩展,但是不可修改。 这个原则其实是有两...

网友评论

      本文标题:七大原则-开放-封闭原则

      本文链接:https://www.haomeiwen.com/subject/kfplhhtx.html