核心: 实例化对象,实现创建者和调用者的分离 简单工厂模式 工厂方法模式 抽象工厂模式 面对对象设计的基本原则: ocp(open closed principle) 开闭原则:一个软件的实体应当对拓展开放,对修改关闭 dip(dependence inversion principle) 依赖反转原则:针对接口编程,不要针对实现编程 lod(law of demeter) demeter法则:只与你直接的朋友通信,避免与陌生人通信 简单工厂模式(Simple Factory Pattern):…
一.简单工厂 定义:定义一个创建对象的接口,可是由其子类决定要实例化的对象是哪一个,工厂方法让类的实例化推迟到子类. 通俗的来讲就是由工厂方法确定一个框架.详细的实现由其子类来完毕. 与简单工厂相比,简单工厂但是完毕了整个对象的创建. 严格的来说简单工厂并非一种设计模式,他更像是一种编程习惯. 代码说明一切! 1.这是一个简单工厂 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 package my.oschina…
创建型模式 简单工厂模式的缺点是: 当我们引入新产品时,由于静态工厂方法通过所传入参数的不同来创建不同的产品,需要修改工厂类的方法,违反了“开闭原则”. 工厂模式提供了一个抽象工厂接口来声明抽象工厂方法,而由其子类来具体实现工厂方法,创建具体的产品对象. 包含的四个角色: 1.Product(抽象产品):它是定义产品的接口,是工厂方法模式所创建对象的超类行,也是产品对象的公共父类: 2.ConcreteProduct(具体产品):它实现了抽象产品接口,某种类型的具体产品由专门的具体工厂创建,具体…
1.工厂模式简介 工厂模式,专门负责将大量有共同接口的类实例化(用来生产对象).其定义为定义一个用于创建对象的接口,让子类决定实例化那一个类.工厂方法使一个类的实例化延迟到其子类. 工厂模式拥有以下几种类型: 简单工厂模式:又称为静态工厂模式 工厂方法模式 抽象工厂模式 2.简单工厂模式 通过工厂类的静态方法来获取需要的对象.以下代码使用简单工厂模式来实现图形工厂,用来获取不同类型的图形. Shape抽象类定义: public abstract class Shape { public abst…
概念定义 简单工厂(Simple Factory)模式,又称静态工厂方法(Static Factory Method)模式,即定义一个工厂类,根据传入的不同参数创建不同的产品实例,这些实例对象具有共同的父类或接口. 应用场景 需要创建的产品对象较少,否则工厂逻辑会过于复杂. 客户端只关心产品的接口,而不关心对象的具体创建过程. 示例代码 简单工厂模式由一个工厂类.一个产品接口(或抽象类)和一组实现该接口的具体产品组成.这个工厂类根据传入的参数创造一个具体的产品实现类,并向上转型为接口作为结果返回…
概念定义 抽象工厂(Abstract Factory)模式提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类. 抽象工厂模式中,系统的产品有多于一个的产品族(一个产品族里定义多个产品),而系统只消费其中某一族的产品.换句话说,抽象工厂创建一整套具有相互依赖或作用关系的产品(至少两个产品),而工厂方法中的工厂只能创建单一系列的产品. 应用场景 客户端不需要知道它所创建的对象的类. 需要一组对象共同完成某种功能时,并且可能存在多组对象完成不同功能的情况. 系统结构稳定,不会频繁地增加…
创建型模式:抽象工厂模式 引入概念: 1.产品等级结构:当抽象的产品由具体的工厂生产出不同的产品时,这些归属与同一类的抽象产品就构成了产品等级结构: 2.产品族:具体的工厂可以生产出来的不同产品就构成了一个产品族. 抽象工厂模式中的具体工厂不只是创建一种产品,它将负责创建一族产品:每一个具体工厂都提供了多个工厂方法用于生产多种不同类型的产品,这些产品构成了一个产品族. 在抽象工厂模式结构图中包含了4个角色. (1).AbstractFactory(抽象工厂):它声明了一组用于创建一族产品的方法,…
目录: 前言 1. Stratrgy Pattern 2. Observer Pattern 3. Decorator Pattern 4. Factory Pattern 4.1 FactoryPattern 4.2 AbstractFactoryPattern 总结 返回顶部 前言: 因为在学习过程中总是不断忘记,很多东西也是一知半解,所以学一点就又倒回来再复习一次,第一次学习的时候我主要以实现书中的代码为主,而现在复习的时候我就以弄清楚逻辑为主了,毕竟第一次基本都是只要能实现功能就大吉大利…
出厂模式(factory pattern) 详细说明 本文地址: http://blog.csdn.net/caroline_wendy/article/details/27081511 工厂方法模式: 定义了一个创建对象的接口, 但由子类决定要实例化的类是哪一个. 工厂方法让类把实例化推迟到子类. 包括: 创建者父类(creator), 包括创建对象的方法(取代new详细的对象, 通过參数创建不同的对象), 和一些主要的方法; 详细创建者(concrete creator), 继承创建者父类,…
抽象工厂模式(Abstract Factory Pattern) 介绍提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类. 示例有Message和MessageModel,Message有一个Insert()方法,该方法的参数是MessageModel. AbstractMessageModel using System; using System.Collections.Generic; using System.Text; namespace Pattern.Abstract…