软件架构设计的七大原则

开闭原则

开闭原则指的是一个软件实体如类、模块、和函数应该对扩展开放、对修改关闭。所谓的开闭,指的是对扩展和修改两个行为的一个原则。强调的是用抽象构建框架,用实现扩展细节。可以提高软件系统的可复用性和可维护性。它指导我们如何建立灵活稳定的系统。
实现开闭原则的核心思想就是面向抽象编程。
举例:弹性工作时间就是一个例子,它对每天工作8小时是关闭的、对几点来几点走是开放的。

下面以课程为例,首先建立一个课程接口ICourse:

public interface ICourse {
	Integer getId();
	String getName();
	Double getPrice();
}

现在来建立一个Java类:

public class JavaCourse implements ICourse{
	private Integer id;
	private String name;
	private Double price;
	public JavaCourse(Integer id, String name, Double price) {
		this.id = id;
		this.name = name;
		this.price = price;
	}
	@Override
	public Integer getId() {
		return this.id;
	}
	@Override
	public String getName() {
		return this.name;
	}
	@Override
	public Double getPrice() {
		return this.price;
	}
}

这时,我们要给Java课程做一个价格优惠的活动,此时,如果我们修改JavaCourse 里的getPrice()则有可能会影响其他地方的调用。那么要如何在不修改源代码的同时实现价格优惠的功能呢?现在,再写一个处理优惠的类,JavaDiscountCourse类。

你可能感兴趣的:(设计模式)