设计模式
文章平均质量分 71
刘海燕
性格开朗,和蔼可亲。
展开
-
简单工厂与策略模式的结合
简单工厂与策略模式的结合 下面我门通过一个厂商收银软件的编码学习一下简单工厂与策略模式相结合的应用。 场景:做个商场收银软件,营业员根据所购买的商品的单价和数量,向客户收费,计费方式分为三种:正常收费、打8折、满300返100。 (1)商场促销的简单工厂 根据面向对象的编程思想——抽象,分析得出:正常收费、打几折、满*原创 2013-01-02 21:41:57 · 1293 阅读 · 5 评论 -
代理模式
代理模式(1)定义:代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问。(2)代理模式的结构图://Subject类,定义了RealSubject和Proxy的共用接口,这样就在任何使用RealSubject的地方都可以使用Proxy。 abstract class Subject { public abstract void Re原创 2013-01-05 16:15:52 · 542 阅读 · 1 评论 -
模板方法模式
模板方法模式 一、定义 模板方法模式(TemplateMethod),定义一个操作中的算法骨架,而将一些步骤延迟到了子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。二、代码结构图 AbstractClass类是抽象类,其实也是一个抽象模板,定义并实现了一个模板方法。这个模板方法一般是一个具体方法,它给出了一原创 2013-01-06 21:43:03 · 533 阅读 · 1 评论 -
原型模式
原型模式一、定义 原型模式(Prototype),用原型实例指定创建对象的种类,并且通过拷贝这些原则创建新的对象。二、结构图 原型模式其实就是从一个对象再创建另一个可定制的对象,而且不需要知道任何创建的细节。三、原型模式的代码如下://原型类 abstract class Prototype { private原创 2013-01-06 12:09:05 · 808 阅读 · 2 评论 -
机房收费系统之抽象工厂篇
机房收费系统之抽象工厂篇 机房收费系统vb.net个人版已完成,在此过程中分层的好处在系统的完成过程中得到了很好的体会。第一遍用的是纯三层做的,这几天又在此基础上又重构了登录的demo,加上抽象工厂和配置文件的使用。下面以登录功能为例,总结一下我的机房收费系统。一、下面看一下我的包图: 可以看到,这张图是从最基本的三层UI→BLL→DAL加入设计模原创 2013-04-30 22:14:33 · 1389 阅读 · 7 评论 -
设计模式之外观模式
外观模式(Facade) 下面我从《Head First Design Patterns》中的例子看一下外观模式。 例子是这样描述的,说是美国有很多人搞家庭影院(我考虑一种最简单的方式,也就是全部是打开和关闭),在家庭影院中,首先必须要有灯光,屏幕,投影机,功放机,DVD 播放器这几个基本的工具, 而灯光呢可以关闭灯光,打开灯光,原创 2013-08-22 20:51:35 · 1367 阅读 · 14 评论 -
单例模式
单例模式(Singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点。 下面我通过一个实例来介绍一下单利模式到底是怎么应用的。以我近期做的机房收费系统中的例子来说吧。 首先我们建立了一个Windows应用程序,我们建立一个主窗体:MdiParentUI,我们设置它的属性IsMdiContainer属性为true,表示它是文档界面MDI子窗体的容器原创 2013-08-29 21:55:13 · 1946 阅读 · 14 评论