00.简述工厂设计模式
2020-02-06 16:03:39来源:博客园 阅读 ()
00.简述工厂设计模式
这里简单理解:简单工厂又叫静态工厂;是将工厂方法的方法体加上static
?
?
问题来了,什么是开闭原则?又有哪些设计原则呢?
开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类
面向对象设计(Object-Oriented Design,OOD)
(此处先了解下,随着知识的深入在进行学习)
单一职责:
开闭原则:对扩展开放,对修改关闭
依赖倒置:多用多态,面向接口/抽象编程;是开闭原则的基础,具体内容:针对接口编程,依赖于抽象而不依赖于具体。
里氏替换法则:是对"开-闭"原则的补充。实现"开-闭"原则的关键步骤就是抽象化;,任何基类可以出现的地方,子类一定可以出现
接口隔离:使用多个隔离的接口,比使用单个接口要好。还是一个降低类之间的耦合度的意思,从这儿我们看出,其实设计模式就是一个软件的设计思想,从大型软件架构出发,为了升级和维护方便。所以上文中多次出现:降低依赖,降低耦合。
迪米特法则(最少知道原则):为什么叫最少知道原则,就是说:一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。
?
注意:FactoryBean和BeanFactory是有区别的;前者是工厂实体类,后者是实体类的工厂
开闭原则:对扩展开放,对修改关闭
此时再去加一个新的动物Monkey就需要修改工厂源代码
?
在该网站来画类图加深理解;或者用StarUML软件
1.工厂方法:
首先创建抽象产品
然后创建具体的产品
定义抽象工厂
定义具体工厂:方式一,不推荐,但是写法简单
定义具体工厂:方式二,推荐,但是代码复杂点
调用具体工厂
?
?
?
修改为简单工厂simplefactory,简单工厂又称静态工厂.将工厂里的方法改为static
?
基于简单工厂开始改写:
?
第一步:创建抽象类产品/接口
第二步:创建具体产品
?
第三步:定义抽象工厂
第四步:调用具体工厂
?
?
第一步:创建抽象产品/接口
第二步:创建具体产品
第三步:定义抽象工厂(抽象工厂方法还有对工厂进行抽象)
第四步:调用具体工厂
?
代码演示:
解释:接口可以多继承;类是单继承类,多实现接口
宝马抽象类没有重写完接口的方法,通过子类来完成额外功能得附加,减少了代码的变动
对高配和低配工厂的抽象;这也是抽象工厂方法的核心
?
?
原文链接:https://www.cnblogs.com/huadaxia/p/12271259.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 如何干掉 if else 策略+工厂 2020-06-11
- Java工厂设计模式 2020-05-14
- 简述Spring框架 2020-05-12
- JAVA设计模式之工厂系列(factory) 2020-04-28
- LeetCode 200. 岛屿数量 2020-04-20
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash