随笔分类 -  设计模式

摘要:策略模式(Strategy)它定义了算法家族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户。结构图:策略模式的实现:一商场打折为背景:商场有正常收费,打折促销,消费多少送多少的优惠的收款方式。抽象策略类:using System;using System.Col... 阅读全文
posted @ 2012-06-07 13:30 Cooper_Liu 阅读(294) 评论(0) 推荐(1) 编辑
摘要:单例模式(Singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点。“通常我们可以让一个全局变量使得一个对象被访问,但他不能防止你实例化多个对象。一个最好的办法就是,让类自身负责保存他的唯一实例。这个类可以保证没有其他实例可以被创建,并且他可以提供一个访问该实例的方法”。结构图:先创建一个简单的实例说明一下单例模式:Singleton类:/* * 单例模式的实现 */using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Singleton{ ... 阅读全文
posted @ 2012-06-05 15:25 Cooper_Liu 阅读(245) 评论(0) 推荐(0) 编辑
摘要:业务场景:实现系统数据库的切换,运用抽象工厂模式(Abstract Factory)。首先呢,我们利用工厂方法模式来实现,温习一下工厂方法模式。业务场景条件:数据表:user(id,name); department(id,name);业务场景UML图:思路:1、定义实体类User、Department。2、定义接口IUser、IDepartment,并声明void Insert(User user)、GetUser(int id);void Insert(Department department)、GetDepartment(int id)方法;定义接口IUser、IDepartment用 阅读全文
posted @ 2012-06-01 15:14 Cooper_Liu 阅读(357) 评论(0) 推荐(0) 编辑
摘要:OO(Object–Oriented )面向对象OO方法(Object-Oriented Method,面向对象方法,面向对象的方法)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO (Object-Oriented)方法,是建立在“对象”概念基础上的方法学。对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。而每继承性是对具有层次关系的类的属性和操作进行共享的一种方式。所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。UML图例:类+特性(字段 阅读全文
posted @ 2012-06-01 10:42 Cooper_Liu 阅读(264) 评论(0) 推荐(0) 编辑
摘要:在研究完简单工厂模式,从它的优缺点中,我们不难看出:如果我们要新增加一个新的运算方法,我们需要做两步:1、编写新的运算方法;2、去修改OperationFactory类,增加case分支判断;这样一个弊端:同时开放了扩展,而且也开放了修改,违背了开放-封闭原则。从简单工厂模式UML图中我们发现“简单工厂类”是依赖于“运算类”。为了解决这个问题,我们分别为每个运算方法类建立工厂,每个工厂继承于同一接口,这样“简单工厂类”对于“运算类”的依赖,就降低了。这就是工厂方法模式。简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择动态实例化相关的类,对于客户端来说,去除了与具体产品的 阅读全文
posted @ 2012-06-01 10:23 Cooper_Liu 阅读(235) 评论(0) 推荐(0) 编辑
摘要:身为一个小菜鸟,接触一下设计模式。之前听到设计模式,各种神奇,不亚于程序界的“葵花宝典”、“九阴真经”之类。之所以写下来,如题目所述:【备忘录】,也是督促自己学习的一个过程。最近慢慢接触后,也发现了它的神奇与巧妙。要学习面向对象,设计模式能改变我们以计算机的思维去让计算机工作的想法,要让计算机以人的思维去工作,展现其灵活与强大。学习设计模式,能深刻的去体会用面向对象的思维去思考事物。参考:《大话设计模式》---程杰;度娘;谷哥;还有博客园的大牛们。http://www.cnblogs.com/anlyren/archive/2008/01/31/oo.html面向对象的好处:利用面向对象的分析 阅读全文
posted @ 2012-05-31 10:26 Cooper_Liu 阅读(362) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
主题色彩