遇到问题直觉地利用计算机能够理解的方式去分析解决问题,但这样的思维模式只能局限与解决问题,
但写的程序却不一定容易维护,不容易扩展,更不容易复用,为了把代码写的易维护、易扩展、易复用,我们很有必要学习设计模式
1.紧耦合和松耦合
利用面向对象的性质,封装、继承、多态
2.单一职责原则:就一个类而言,应该仅有一个引起它变化的原因
3.简单工厂方法
简单工厂模式的实质是由一个工厂类根据传入...
分类:
其他好文 时间:
2014-07-23 17:01:34
阅读次数:
206
工厂模式和简单工厂有什么区别。废话不多说,对比第一篇例子应该很清楚能看出来。优点: 工厂模式弥补了简单工厂模式中违背开放-封闭原则,又保持了封装对象创建过程的优点。using System;using System.Collections.Generic;using System.Linq;usin...
分类:
其他好文 时间:
2014-07-23 11:46:36
阅读次数:
188
简单工厂模式VS工厂方法模式:
简单工厂模式:最大优点在于工厂类中必须包含必要的逻辑判断,根据客户端选择条件动态实例化相关类,对于客户端来说,去除了与具体产品的依赖。
工厂方法模式(Factory Method),定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法模式使一个类的实例化延迟到其子类。
工厂方法模式实现时,客户端需要决定实例化哪一个工厂来实现相...
分类:
编程语言 时间:
2014-07-22 23:51:37
阅读次数:
363
一、抽象工厂(Abstract Factory)模式抽象工厂模式是全部形态的工厂模式中最为抽象和最具一般性的一种形态。为了方便引进抽象工厂模式,引进一个新概念:产品族(Product Family)。所谓产品族,是指位于不同产品等级结构,功能相关联的产品组成的家族。如图:图中一共同拥有四个产品族,分...
分类:
其他好文 时间:
2014-07-22 22:46:33
阅读次数:
219
先看下一个简单的实现: 1 package org.masque.designpatterns.factorymethod.one; 2 /** 3 * 4 * Description: Sample子类的标示 5 * BeanEm.java Create on 2014年7月11日 下午2...
分类:
其他好文 时间:
2014-07-22 22:41:55
阅读次数:
263
简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。例如在简单工厂模式中出现的工厂函数:
Operation* FactoryFunction(double left, double right, char op)
{
switch (op)
{
case '+':
ret...
分类:
其他好文 时间:
2014-07-22 22:38:56
阅读次数:
283
模式在某一情景下解决某个问题的固定解决方案。
所有的创建型模式都是用作解决对象的创建或实例化问题的解决方案。
1
简单工厂模式
创建对象的最简单方法是使用new来创建一个对象,如果只创建一种固定不变的对象,可以使用new来创建这个对象。
如果要根据不同场景创建不同类型的对象,就可能出现不同的方法,即可以采用不同的模式。
如ANDROID的媒体框架中为了...
分类:
移动开发 时间:
2014-07-22 17:47:21
阅读次数:
388
1.工厂模式 工厂模式是一种常用的创建对象的模式,可以使用以下函数封装创建对象的细节:function CreatePerson(name,age){var p=new Object(); p.name=name; p.age=age; p.speak=function(){ console...
分类:
编程语言 时间:
2014-07-22 00:11:38
阅读次数:
275
1 创建型模式
单独对对象的创建进行研究,高效的创建对象就是创建型模式讨论的问题。创建型设计模式有6种:
简单工厂模式(simple factory);
工厂方法模式(factory method);
抽象工厂模式(abstract factory);
创建者模式(Builder);
原型模式(Prototype);
...
分类:
其他好文 时间:
2014-07-22 00:06:33
阅读次数:
232
在软件世界分层的思想无处不在
主要是为了提高软件系统的维护性,扩展性,复用性和解耦等
软件的三层构架是一种最基本的分层思想的体现
结构图大体如下:
如此一来,开发人员可以只关注其中一层,而无需关心下一层是如何实现的
但是最基本的三层构架在软件系统中很明显是不够用的
因为它带来优点的同时也带着许多缺点,比如耦合性高,经常出现修改某一层的代码另外一层也要随之大幅度整顿
而且当需求...
分类:
编程语言 时间:
2014-07-21 22:32:27
阅读次数:
251