1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace 笔记本品牌简单工.....
分类:
其他好文 时间:
2015-01-07 22:05:25
阅读次数:
156
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{ class Program { static v...
分类:
其他好文 时间:
2015-01-07 10:50:12
阅读次数:
113
下面代码实现的功能是简单工厂模式:
声明一个工厂类,其成员可以看做该工厂的主要产品类型。
再声明几个子工厂类,根据客户要求生产不同类型的产品。
若要增加新产品,只需声明新的工厂子类即可。
代码如下:
//Factory.h
#ifndef FACTORY_H
#define FACTORY_H
//计算类
class COperate
{
public:
COperate(void...
分类:
编程语言 时间:
2015-01-04 11:25:04
阅读次数:
168
简单工厂模式一、简介 简单工厂模式又叫静态工厂方法(StaticFactoryMethod)模式。 其实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。 简单的说,就是一个专门的类来负责所有的实例的创建。二、角色及其职责 工厂(C...
分类:
其他好文 时间:
2015-01-02 22:19:34
阅读次数:
219
一,先看看简单工厂模式简单工厂模式的优点:工厂类中包含了必要的逻辑判断,根据客户端的选择动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。简单工厂模式的缺点:增加功能的时候,就需要增加case的条件分支,也就是要修改工厂类,违背了“开放-封闭原则”。2,工厂方法模式:# -*- encod...
分类:
其他好文 时间:
2015-01-02 21:08:23
阅读次数:
187
【设计模式】 分类一. 创建型 简单工厂模式(Simple Factory) 工厂方法模式(Factory Method) 抽象工厂模式(Abstract Factory) 创建者模式(Builder) 原型模式(Prototype) 单例模式(Singleton)二. 结构型 外观模...
分类:
其他好文 时间:
2015-01-02 15:48:45
阅读次数:
173
为什么要用简单工厂模式:
我们都知道程序是分开的,客户端中有程序,服务器端有程序,一般来说我们写的main方法中的程序都是在客户端电脑中的,按照我们学习的时候喜欢的写法:
//一般来说这个程序都是在客户电脑中,俗称调用者
public class Text{
public static void main(String[] args) {
Person p = new ...
分类:
编程语言 时间:
2015-01-02 14:43:39
阅读次数:
201
一、简单工厂模式
定义:定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。
问题:产品类的职责过重,违反了单一职责原则;如果增加新的职责,就要修改产品类的源代码,违反了
开放—封闭原则。
解决方案:提供专门的工厂建立对象,将对象的使用和创建分开。
...
分类:
其他好文 时间:
2015-01-01 17:21:39
阅读次数:
206
之前看了一些关于工厂模式和抽象工厂模式的资料,了解了工厂模式和抽象工厂模式的特点和区别。今天再回来看自己之前写的笔记,又开始迷惑了,下面把自己的一些迷惑和想法记录下来。
1.什么地方会用到简单工厂模式?
在很多开源库中都会出现跨平台的问题。假设有一个窗口模块(即为一个dll),该模块提供窗口的基本功能比如设置标题、设置窗口背景颜色等。在不同的平台里,创建窗口需要调用不同的API,比如w...
分类:
其他好文 时间:
2014-12-30 00:34:16
阅读次数:
180
简单工厂 VS 工厂方法 简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。但添加新功能时需要修改原有的类,违背开发-封闭原则。 工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使...
分类:
其他好文 时间:
2014-12-29 13:37:06
阅读次数:
125