00.简述工厂设计模式

2020-02-06 16:03:39来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

00.简述工厂设计模式

这里简单理解:简单工厂又叫静态工厂;是将工厂方法的方法体加上static

?

?

问题来了,什么是开闭原则?又有哪些设计原则呢?

开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类

面向对象设计(Object-Oriented Design,OOD

(此处先了解下,随着知识的深入在进行学习)

单一职责:

开闭原则:对扩展开放,对修改关闭

依赖倒置:多用多态,面向接口/抽象编程;是开闭原则的基础,具体内容:针对接口编程,依赖于抽象而不依赖于具体。

里氏替换法则:是对"开-闭"原则的补充。实现"开-闭"原则的关键步骤就是抽象化;任何基类可以出现的地方,子类一定可以出现

接口隔离:使用多个隔离的接口,比使用单个接口要好。还是一个降低类之间的耦合度的意思,从这儿我们看出,其实设计模式就是一个软件的设计思想,从大型软件架构出发,为了升级和维护方便。所以上文中多次出现:降低依赖,降低耦合。

迪米特法则(最少知道原则):为什么叫最少知道原则,就是说:一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。

?

注意:FactoryBean和BeanFactory是有区别的;前者是工厂实体类,后者是实体类的工厂

开闭原则:对扩展开放,对修改关闭

此时再去加一个新的动物Monkey就需要修改工厂源代码

?

在该网站来画类图加深理解;或者用StarUML软件

1.工厂方法:

首先创建抽象产品

然后创建具体的产品

定义抽象工厂

定义具体工厂:方式一,不推荐,但是写法简单

定义具体工厂:方式二,推荐,但是代码复杂点

调用具体工厂

?

?

?

修改为简单工厂simplefactory,简单工厂又称静态工厂.将工厂里的方法改为static

?

基于简单工厂开始改写:

?

第一步:创建抽象类产品/接口

第二步:创建具体产品

?

第三步:定义抽象工厂

第四步:调用具体工厂

?

?

第一步:创建抽象产品/接口

第二步:创建具体产品

第三步:定义抽象工厂(抽象工厂方法还有对工厂进行抽象)

第四步:调用具体工厂

?

代码演示:

解释:接口可以多继承;类是单继承类,多实现接口

宝马抽象类没有重写完接口的方法,通过子类来完成额外功能得附加,减少了代码的变动

对高配和低配工厂的抽象;这也是抽象工厂方法的核心

?

?


原文链接:https://www.cnblogs.com/huadaxia/p/12271259.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:记录下spingboot连接阿里云服务器上的MySQL数据库报错

下一篇:本地模拟内存溢出并分析Dump文件