美文网首页技术干货
一、软件的架构设计原则(1)——开闭原则

一、软件的架构设计原则(1)——开闭原则

作者: 心扬 | 来源:发表于2019-10-09 21:06 被阅读0次

开闭原则

对扩展开放,对修改关闭

强调用抽象构建框架,用实现扩展细节,从而提高软件的可复用性和可维护性

开闭原则的核心思想就是 面向抽象编程

  • 课程接口
public interface ICourse {

    Integer getId();

    String getName();
    
    Double getPrice();
}
  • Java课程类
public class JavaCourse implements ICourse {

    private Integer id;

    private String name;

    private Double price;

    @Override
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }

    @Override
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Override
    public Double getPrice() {
        return price;
    }
    public void setPrice(Double price) {
        this.price = price;
    }
}
  • 有优惠的java课程
public class JavaDiscountCourse extends JavaCourse {

    public Double getOrignPrice(){
        return super.getPrice();
    }

    public Double getPrice(){
        return super.getPrice() * 0.5;
    }
}

使用继承的方式,在不改变源代码的前提下,实现了价格优惠的功能!

image.png

相关文章

  • 软件架构设计的七大原则

    软件架构设计的七大原则 一、开闭原则(是面向对象开发中最基础的原则,它指导建立更加稳定灵活的系统) 开闭原则是对扩...

  • iOS开发架构(架构的七大原则、MVC架构模式、MVVM架构)

    一、软件架构的原则 软件架构的七大原则如下: 1.开闭原则2.依赖倒置原则3.单一职责原则4.接口隔离原则5.迪米...

  • 设计模式之设计原则

    软件设计原则(Software design principles) 开闭原则: 定义:一...

  • 2020-02-06 spring chapter 1

    软件架构设计的原则开闭原则(OCP):用抽象构建框架,用实现扩展细节依赖倒置原则(DIP):高层模块不应该依赖低层...

  • 一、软件的架构设计原则(1)——开闭原则

    开闭原则 对扩展开放,对修改关闭 强调用抽象构建框架,用实现扩展细节,从而提高软件的可复用性和可维护性 开闭原则的...

  • iOS开发架构

    一、原件架构的原则 软件架构的七大原则如下: 开闭原则 依赖倒置原则 单一职责原则 接口隔离原则 迪米特法则(最小...

  • iOS软件开发框架,你或许不知道的内容!

    一、原件架构的原则 软件架构的七大原则如下: 开闭原则 依赖倒置原则 单一职责原则 接口隔离原则 迪米特法则(最小...

  • 5 开闭原则

    开闭原则 一、基本介绍 1)开闭原则是编程中最基础、最重要的设计原则 2)一个软件实体如类、模块和函数应该对扩展开...

  • 软件架构设计原则之开闭原则

    开闭原则(Open-Closed Principle,OCP)是指一个软件实体(如类、模块和函数)应该对扩展开放,...

  • 面向对象设计原则(二)开闭原则

    面向对象设计原则之开闭原则 开闭原则是面向对象的可复用设计的第一块基石,它是最重要的面向对象设计原则。 开闭原则的...

网友评论

    本文标题:一、软件的架构设计原则(1)——开闭原则

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