软件架构设计原则
小猪√
这个作者很懒,什么都没留下…
展开
-
开闭原则
什么时开闭原则? 开闭原则指的是一个实体,对修改关闭,对扩展开放。 核心 开闭原则的核心思想是面向抽象编程,下面看一段代码 public interface ICar { Integer getId(); String getName(); Double getPrice(); } ...原创 2019-08-18 22:22:46 · 238 阅读 · 0 评论 -
依赖倒置原则
依赖倒置原则是指高层(调用层)模块不应该依赖底层模块,二者都应该依赖其抽象。抽象不应该依赖细节,细节可以依赖抽象。通过依赖倒置,可以减少类之间的耦合,提高系统的稳定行,提高代码的可读性和可维护性。并且能降低修改程序带来的风险,接下来看一个案例,还是已book为例,先来创建一个XiaoMing类: public class XiaoMing { public void LookXHBook(...原创 2019-08-18 23:38:19 · 91 阅读 · 0 评论 -
单一职责原则
单一职责是指一个类或者方法出现两种以上职责,一旦需求的变更,这时候要修改一项职责,有可能就会影响到另一个职责。 解决办法: 将两个职责用两个类来实现,进行解耦。 发现: 既然单一职责原则规定我们尽量不要把不同的职责写在同一个方法内,但是java又提供重载这一机制。 public class ICompany { public void create(String branch){ ...原创 2019-08-19 20:54:41 · 131 阅读 · 0 评论 -
接口隔离原则
接口隔离原则是指用多个专门的接口,而不使用单一总接口,客户端不应该依赖它不需要的接口,这个原则指导我们在设计一个接口的时候要注意以下几点: 一个类对另一个类依赖应该建立在最小的接口之上。 建立单一接口, 不要建立庞大臃肿的接口 尽量细化每个接口,接口中的方法尽量少(不是越少越好,而是要适度) 接口隔离原则完全符合高内聚、低耦合的思想,可以是其拥有更好的扩展性、可读性和可维护性,下面已anima...原创 2019-08-19 20:54:00 · 158 阅读 · 0 评论 -
迪米特原则
迪米特原则主要强调类与类之间的耦合度。 现在来设计一个权限系统,boss需要查看目前发布到线上的课程数。这时候,这时候boss要找TeamLeader去统计,TeamLeader再把结果告诉boss,接下来我们来看具体例子: public class cource {} public class TeamLeader { public void checkNumberOfCource(Li...原创 2019-08-19 21:24:53 · 323 阅读 · 0 评论 -
里氏替换原则
里氏替换原则是指子类可以扩展父类的功能,但是不能改变父类的原有功能。 子类可以实现父类的抽象方法,但是不能覆盖父类的非抽象方法。 子类可以添加自己特有的功能 当子类重载父类的方法时,方法的前置条件要比父类方法的输入参数更宽松 当子类的方法实现父类的方式时,方法的后置条件要比父类更严格或和父类一样 现在来描述一个经典的业务场景,用正方形、矩形和四边形的关系说明里氏替换原则, 我们都知道正方形是一...原创 2019-08-20 20:14:14 · 128 阅读 · 0 评论 -
合成复用原则
合成复用原则是指尽量使用对象组合/聚合而不是继承关系达到软件复用的目的,可以是系统更加灵活,降低类与类之间的耦合度,一个类的变化对其他类造成的影响相对较小。 继承叫做白箱复用,相当与把所有的实现细节暴露给子类,对象组合/聚合称为黑箱复用,我们是无法获取到类以外的对象的实现细节,虽然我们要根据业务场景来写代码,但也要遵循OOP模型。下面我们已操作数据库为例。 public class DBConne...原创 2019-08-20 20:40:22 · 459 阅读 · 0 评论