七大软件设计原则
一、 开闭原则:(面向对象的最基础原则)
定义:一个软件实体如类,模块和函数应该对扩展开放,对修改关闭。用抽象构建框架,用实现扩展细节。
优点:提高软件系统的可复用性及可维护性。
当变更发生时,不要直接修改类,通过继承扩展的方式完成变更。
举例:超市商品打折(商品原价(Price)是原始类,打折后的商品价格(DiscountPrice)通过继承商品原价(Price)原始类后,在打折后的商品价格类(DiscountPrice)对商品价格进行打折操作)
二、 依赖倒置原则:
定义:设计代码结构时,高层模块不应该依赖低层模块,二者都应该依赖其抽象。
定义补充:抽象不应该依赖细节,细节应该依赖抽象。
针对接口编程,不要针对实现编程。
优点:减少类间的耦合性、提高系统稳定性,提高代码可读性和维护性,可降低修改编程所造成的风险。
举例:
Jane要买一套护肤品(包含精华水、乳液、面霜)。这里“买”的动作是一致的,买精华水,买乳液,买面霜。
创建一个“买”的Java接口(IBuy),创建买的方法(void buy(););
首先是买精华水,创建OneLeafBuy类,继承(implements)IBuy,实现买精华水的操作。
然后