1.背景 实际中经常使用getInstance()方法返回一个对象,对于工厂模式,传入对应的参数返回与之相对应的对象.但是,问题来了,返回的对象需要被强制转换,很麻烦. 编译不通过,说类型不兼容. 因此加上强制类型转换,编译通过了. 2.如何处理 例子只有两个类,手动强制转换还可以,但如果多个类咋办 ...
分类:
编程语言 时间:
2019-10-25 18:37:56
阅读次数:
75
1 工厂模式(Factory) 1.1 简单工厂模式 1.2 工厂方法模式 1.3 抽象工厂模式 2 单例模式(Singleton) 3 建造模式(Build) 4 原型模式(Proto) 5 适配器模式(Adapter) 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接 ...
分类:
其他好文 时间:
2019-10-24 15:36:13
阅读次数:
89
一、编程思想 1、定义: 编程思想:把一些生活中做事的经验融入到程序中 面向过程:凡事都要亲力亲为,每件事的具体过程都要知道,注重的是过程 面向对象:根据需求找对象,所有的事都用对象来做,注重的是结果 面向对象特性:封装,继承,多态 (抽象性) js不是面向对象的语言,但是可以模拟面向对象的思想 j ...
分类:
编程语言 时间:
2019-10-22 12:55:10
阅读次数:
136
我们接着上一章的工厂方法模式继续学习一下抽象工厂模式。 抽象工厂模式:在工厂模式中,如果有多个产品,则就是抽象工厂模式。 例子: 有一个工厂开了两个子公司,专门用来生产电脑配件键盘和鼠标,一个是联想工厂则生产联想的产品,另一个是宏碁工厂则生产宏碁的产品。 代码如下: 1、工厂接口(可以生产鼠标和键盘 ...
分类:
编程语言 时间:
2019-10-21 09:41:01
阅读次数:
91
建造者模式和模板方法模式扩展篇 UML 与抽象工厂模式比较 实现 产品抽象 产品A 产品B 抽象建造者 建造者实现 建造者实现 导演类,封装实现,避免高层深入具体的建造者接触(可以有多个) 调用 ...
分类:
其他好文 时间:
2019-10-20 16:04:42
阅读次数:
121
引言 设计模式分为三种类型: 1)创建者模式:单例模式、抽象工厂模式、原型模式、建造者模式、工厂模式 2)结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式 3)行为型模式:模板方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式 ...
分类:
其他好文 时间:
2019-10-18 19:20:49
阅读次数:
92
一、工厂模式介绍: 工厂模式实现了创建者和调用者的分离 工厂模式分类: 1.简单工厂模式 2.工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类 ?3.抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 面向对象设 ...
分类:
其他好文 时间:
2019-10-18 12:41:11
阅读次数:
99
前提: 简单工厂模式,是在工厂类中进行逻辑判断,根据客户端的条件动态实例化相关的类,去除了客户端与具体产品的依赖,但是这样有一个问题,违反了开放封闭原则,如果新增一个逻辑,就必须修改工厂类中的逻辑判断的代码。 工厂模式解决了这个缺点。将工厂类接口抽象化,然后创建不同的子类工厂类,实现工厂类接口。每个 ...
分类:
其他好文 时间:
2019-10-17 23:35:27
阅读次数:
106
一、策略模式 策略模式是通过把派生类和基类封装(聚合)到一个上下文类,这个类的实现既调用了基类的方法,也调用了派生类的方法;基类通过派生类实现了不同策略,可以通过调用对象的不同具体实现不同的策略; 二、工厂模式 ...
分类:
其他好文 时间:
2019-10-17 12:10:15
阅读次数:
73
代码无错就是优? 程序要容易维护,容易扩展,容易复用。 刻版印刷术=》活字印刷术的优点在于: 1、只改需要改的地方,可维护性。 2、用了之后还可以再用,可重用性。 3、加字只需刻字加入就行,可扩展性。 4、横排竖排随便移动,灵活性好。 UML图 ...
分类:
其他好文 时间:
2019-10-16 23:38:46
阅读次数:
141