进一步理解抽象工厂模式——开闭原则
使用下面这个网址的例子:PC与手机,小米与apple来举例子:
设计模式——工厂模式
开闭原则是指:不能够修改已经有的代码,只能够新增代码或者新增一个接口套在原来的接口上面。
如果我们想你要新增加生产爱三星手机,那么满足开闭原则,因为没有已有代码被更改,而是有两处增加:1)Phone增加了一个具体类SamsungPhone ,2)AbstractFactory增加了一个新的具体工厂SamSungFactory
如果你想要新增加生产一种手表,那么不满足,因为需要1)新增一个抽象类AbstractWatch, 2)修改所有的具体工厂,加上createWatch():AbstractWatch
有对于已有代码的修改,所以不满足
进一步理解抽象工厂模式——开闭原则相关推荐
- 用抽象工厂模式开奶茶店
用抽象工厂模式开奶茶店 相关概念 产品等级结构 :产品等级结构即产品的继承结构,如一个抽象类是电视机,其子类有海尔电视机.海信电视机.TCL电视机,则抽象电视机与具体品牌的电视机之间构成了一个产品等级 ...
- 设计模式(三):旅行的角度理解抽象工厂模式
之前的文章介绍了工厂模式,这篇文章介绍工厂模式的强化版本抽象工厂模式(Abstract Factory Pattern) . 我们知道工厂模式是用于在延迟创建具体的对象,抽象工厂模式可以看作是面向工厂 ...
- 简单工厂模式,工厂方法模式,抽象工厂模式总结-java版
文章目录 LOG:更新日志 一.简单工厂模式,工厂方法模式,抽象工厂模式定义 二.三种工厂模式的优缺点以及适用场景 三.名词解释 四.简单工厂模式.工厂方法模式与抽象工厂模式之间的区别 五.抽象工厂模 ...
- 工厂三兄弟之抽象工厂模式
本文转载自 :http://blog.csdn.net/lovelion/article/details/9319181 工厂方法模式通过引入工厂等级结构,解决了简单工厂模式中工厂类职责太重的问题,但 ...
- 设计模式(20):创建型-抽象工厂模式(Abstract Factory)
设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于 ...
- 【转载】.NET设计模式之抽象工厂模式(Abstract Factory)
转载地址:http://www.cnblogs.com/Terrylee/archive/2005/12/13/295965.html 概述 在软件系统中,经常面临着"一系列相互依赖的对象& ...
- 抽象工厂模式-Abstract Factory Pattern
抽象工厂模式-Abstract Factory Pattern 抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类.抽 ...
- 【设计模式】第5章·抽象工厂模式
一.产品等级和产品族 为了更好的理解抽象工厂模式,引入了两个概念. 1,产品等级结构:产品等级结构即产品的继承结构. 2,产品族:在抽象工厂模式中,产品族是指有同一个工厂生产的位于不同产品等级结构中的 ...
- 设计模式系列一创建型之(抽象工厂模式)
1.抽象工厂简介 在软件系统中,经常面临着"一系列相互依赖的对象"的创建工作:同时由于需求的变化,往往存在着更多系列对象的创建工作. 如何应对这种变化? 如何绕过常规的对象的创建方 ...
最新文章
- could not export python function call Remove calls to Python functions before export
- 产品经理第一课上海站圆满结束,下一站你定!
- CSharpGL(39)GLSL光照示例:鼠标拖动太阳(光源)观察平行光的漫反射和镜面反射效果...
- MySQL高级 - SQL优化 - or优化
- LNMP服务跨省迁移的解决方案
- 每天一道CTF---BUUCTF---练习场----EasySQL1---
- 谈谈Runtime类中的freeMemory,totalMemory,maxMemory几个方法
- C# 图片、文件等加入Project Resources
- Educational Codeforces Round 81 (Rated for Div. 2) C. Obtain The String 序列自动机
- [AngularJS] 理解AngularJS Directive中的Scope
- java:二分法查找
- 汉字笔画数据_中国最生僻的5个汉字,仅仅只有一笔,专家:能认识一个就不错了...
- 一种基于annotation的Spring-mvc权限控制方法
- powerBI发布到web,管理员权限设置
- C++的背影 ——C++之父Bjarne Stroustrup印象(作者:左轻侯)
- 基于 Java Spring Security 的关注微信公众号即登录的设计与实现 ya
- mysql回表什么意思_什么是MYSQL回表查询
- HIVE的搭建配置及关联MySQL
- obs无法录屏或无法保存视频的解决方法
- 用微信小程序实现视频通话