![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 69
CarloPan
这个作者很懒,什么都没留下…
展开
-
设计模式 里氏替换原则
里氏替换原则为良好的继承定义了一个规范,一句简单的定义包含了4层含义。1.子类必须完全实现父类的方法2.子类可以有自己的个性子类当然可以有自己的行为和外观了,也就是方法和属性,那这里为什么要再提呢?是因为里氏替换原则可以正着用,但是不能反过来用。在子类出现的地方,父类未必就可以胜任。还是以刚才的关于枪支的例子为例,步枪有几个比较“响亮”的型号,比如AK47、AUG狙击步枪等,把这两个型号的枪引入后的Rifle子类图如图2-4所示。很简单,AUG继承了Rifle类,狙.转载 2021-03-13 16:08:50 · 139 阅读 · 0 评论 -
设计模式,软件架构设计原则:单一职责原则
3.3 单一职责原则3.3.1 单一职责原则的定义单一职责原则(Simple Responsibility Principle,SRP)指不要存在一个以上导致类变更的原因。假设有一个Class负责两个职责,一旦发生需求变更,修改其中一个职责的逻辑代码,有可能会导致另一个职责的功能发生故障。这样一来,这个Class就存在两个导致类变更的原因。如何解决这个问题呢?我们就要分别用两个Class来实现两个职责,进行解耦。后期需求变更维护互不影响。这样的设计,可以降低类的复杂度,提高类的可读性,提高系统的可维转载 2021-01-23 11:29:00 · 168 阅读 · 0 评论 -
设计模式,软件架构设计原则:依赖倒置原则
3.2 依赖倒置原则3.2.1 依赖倒置原则的定义依赖倒置原则(Dependence Inversion Principle,DIP)指设计代码结构时,高层模块不应该依赖底层模块,二者都应该依赖其抽象。抽象不应该依赖细节,细节应该依赖抽象。通过依赖倒置,可以降低类与类之间的耦合性,提高系统的稳定性,提高代码的可读性和可维护性,并降低修改程序带来的风险。3.2.2 使用依赖倒置原则解决实际问题我们来看一个案例,还是以课程为例,首先创建一个类Tom。然后编写客户端测试代码并调用.转载 2021-01-23 11:10:45 · 209 阅读 · 0 评论 -
设计模式,软件架构设计原则:开闭原则
3.1 开闭原则3.1.1 开闭原则的定义开闭原则(Open-Closed Principle,OCP)指一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。所谓开闭,也正是对扩展和修改两个行为的一个原则。强调的是用抽象构建框架,用实现扩展细节,可以提高软件系统的可复用性及可维护性。开闭原则是面向对象设计中最基础的设计原则。它指导我们如何建立稳定灵活的系统,例如版本更新,我们尽可能不修改源码,但是可以增加新功能。在现实生活中,开闭原则也有体现。比如,很多互联网公司都实行弹性制作息时...转载 2021-01-23 10:28:40 · 251 阅读 · 0 评论 -
设计模式之里氏替换原则
里氏替换原则(Liskov Substitution Principle,简称LSP):子类可以替换父类承有一些优点: 1. 提高代码的重用性,子类拥有父类的方法和属性; 2. 提高代码的可扩展性,子类可形似于父类,但异于父类,保留自我的特性;缺点:侵入性、不够灵活、高耦合 1. 继承是侵入性的,只要继承就必须拥有父类的所有方法和属性,在一定程度上约束了子类,降低了代码的灵活性; 2. 增加了耦合,当父类的常量、变量或者方法被修改了,需要考虑子类..原创 2020-10-28 14:23:33 · 355 阅读 · 0 评论 -
设计模式:策略模式
1、导学策略模式用于算法的自由切换和扩展,它是使用较为广泛的设计模式之一。策略模式实现了算法定义和算法使用的分离,它通过继承和多态的机制实现对算法的使用和管理,是一种简单易用的设计模式。完成一项任务,往往可以有多种不同的方式,每一种方式称为一个策略,我们可以根据环境或者条件的不同选择不同的策略来完成该任务。在很多情况下,实现某个目标的路径不止一条,例如人们外出旅行时,可以选择多种不同的出行方式(旅行出行策略),如可以骑自行车、坐汽车、坐火车、坐飞机,可以根据环境的不同选择不同的策略。。.原创 2020-08-30 11:04:03 · 167 阅读 · 0 评论 -
面向对象的设计原则也被称为SOLID
创建软件应用程序是为了满足不断变化和发展的需求。一个成功的应用程序还应该提供一种简单的方法来扩展它以满足不断变化的期望。幸运的是,我们不是第一个遇到这些问题的人。有一些问题已经被开发人员所发现并总结了解决方案。如果在设计和开发软件时应用一组面向对象的设计原则和模式,则可以避免或解决这些常见问题。面向对象的设计原则也被称为SOLID。在设计和开发软件时可以应用这些原则,以便创建易于维护和开发的程序。SOLID最初是由Robert C.Martin所提出的,它们是敏捷软件开发过程的一部分。SO...转载 2020-08-13 16:40:54 · 179 阅读 · 0 评论 -
设计模式之策略模式(Java实现例子说明)
转载:https://baijiahao.baidu.com/s?id=1638224488060180625&wfr=spider&for=pc记得在中学时代,每次考完老师评讲试卷,都会说这道题有多少种解法,然后在黑板上板书第一种、第二种解法。其实这个情况就类似于今天的情况,也就是策略模式。他表示的是在遇到一种问题有多种解法的时候,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能。OK,正式开始今天的文章。一、理解策略模式为了更好的理解这个模式,我们再举一.转载 2020-06-29 13:17:20 · 339 阅读 · 0 评论