BLUE.NET

-------- 众里寻她千百度

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

随笔分类 -  设计模式

摘要:ASP.NET 中的设计模式之MVC篇 设计模式 MVC 页面控制器 模板与Page基类 设计模式 软件开发中,软件复用和团队协作都一直是最为人们关注的重要问题之一。有趣的是,这两个似乎属于软件工程范畴的问题都有一个共同的技术方面的解决之道:设计模式。 在这里,笔者无意对设计模式的含义进行过多介绍或者严格定义,只是给一个比较简单的理解:设计模式是对一些经常出现问题的一种解决方式,这种解决... 阅读全文
posted @ 2005-06-09 09:07 blue.net 阅读(453) 评论(0) 推荐(0)

摘要:你了解创建者模式了吗? 我准备从How 和 Why 这两个角度来谈谈我对创建者模式的理解. How to implement Factory and Abstract Factory 对于创建者模式, 有一点很容易被大多数人所忽视所误解, 就是Factory模式和Abstract Factory模式的区别. 他们的最重要的区别不是在于Abstr... 阅读全文
posted @ 2005-04-22 09:43 blue.net 阅读(376) 评论(1) 推荐(0)

摘要:Singleton 版本: 1.0.1 本页内容 上下文 问题 ... 阅读全文
posted @ 2005-04-15 13:53 blue.net 阅读(336) 评论(1) 推荐(0)

摘要:使用 Microsoft .NET 的企业解决方案模式 > 分布式系统模式 > 在 C# 中实现 Singleton 版本: 1.0.1 本页内容 上下文 ... 阅读全文
posted @ 2005-04-15 13:47 blue.net 阅读(214) 评论(0) 推荐(0)

摘要:使用 Microsoft .NET 的企业解决方案模式 > Web 表示模式 > 在 .NET 中实现 Observer 阅读全文
posted @ 2005-04-15 13:32 blue.net 阅读(288) 评论(0) 推荐(0)

摘要:模型-视图-控制器 发布日期: 4/21/2004 | 更新日期: 4/21/2004 Model-View-Controller(模型-视图-控制器) 阅读全文
posted @ 2005-04-15 13:22 blue.net 阅读(358) 评论(2) 推荐(0)

摘要:本页内容 上下文 问题 影响因素 ... 阅读全文
posted @ 2005-04-15 13:18 blue.net 阅读(517) 评论(0) 推荐(0)

摘要:摘要:为什么要使用序列化?最重要的两个原因是:将对象的状态保存在存储媒体中以便可以在以后重新创建出完全相同的副本;按值将对象从一个应用程序域发送至另一个应用程序域。例如,序列化可用于在 ASP.NET 中保存会话状态,以及将对象复制到 Windows 窗体的剪贴板中。它还可用于按值将对象从一个应用程序域远程传递至另一个应用程序域。本文简要介绍了 Microsoft .NET 中使用的序列化。 阅读全文
posted @ 2005-04-15 12:09 blue.net 阅读(251) 评论(0) 推荐(0)

摘要:观察者模式(Observer)完美的将观察者和被观察的对象分离开。举个例子,用户界面可以作为一个观察者,业务数据是被观察者,用户界面观察业务数据的变化,发现数据变化后,就显示在界面上。面向对象设计的一个原则是:系统中的每个类将重点放在某一个功能上,而不是其他方面。一个对象只做一件事情,并且将他做好。观察者模式在模块之间划定了清晰的界限,提高了应用程序的可维护性和重用性。 观察者模式有很多实现方... 阅读全文
posted @ 2005-04-15 09:24 blue.net 阅读(306) 评论(0) 推荐(0)

摘要:组合模式(Composite)是一种“结构型”模式(Structural)。结构型模式涉及的对象为两个或两个以上,表示对象之间的活动,与对象的结构有关。 先举一个组合模式的小小例子: 如图:系统中有两种Box:Game Box和Internet Box,客户需要了解者两个类的接口分别进行调用。为了简化客户的工作,创建了XBox类,程序代码如下: GameBox的代码: ... 阅读全文
posted @ 2005-04-15 09:19 blue.net 阅读(306) 评论(0) 推荐(0)

摘要:命令模式(Command)结构并不复杂,简单的说,就是将某些职责封装成对象,对象的激发者(Invoker)和接收者(Reciever)都不过问命令的执行过程。用这样的方式解除了激发者和接受者之间的耦合,为程序提供了更清晰的层次结构。实际运用中经常是将系统中的命令抽象成一个接口,所有的命令都是这个接口的实现,如下所示: Command类是ICommand的实现,Command类实现了exec... 阅读全文
posted @ 2005-04-15 09:15 blue.net 阅读(453) 评论(1) 推荐(0)

摘要:设计模式从本质上说是一种规则,从形式上说,分为创建型、结构型、行为型。 设计模式的应用是为了实现软件设计中的几个原则,其中一个重要原则是:减少模块之间的耦合程度。为了确保这个目的,在设计一个类时,要针对接口,而非实现。(Programming to an Interface, not an Implementation)设计的时候只关心类的接口,编程的时候可以先实现一个简单的接口,供别的模块调用。... 阅读全文
posted @ 2005-04-15 09:12 blue.net 阅读(240) 评论(0) 推荐(0)

摘要:我们在前面的文章中已经介绍了一些软件的设计模式,并给出了一些非软件的例子。下面,让我们继续完成软件设计模式的探索,来看看这些模式中的行为模式及实例。 行为模式 作者总结了十一种行为模式。这些模式可以在硬币分类银行、餐馆订餐、音乐、运输、汽车修理、自动售货机和家庭建筑中找到例子。 职责链(Chain of Responsibility)举例 职责链模式使得多个对象都有机会处理请求,从而... 阅读全文
posted @ 2005-04-14 13:32 blue.net 阅读(319) 评论(0) 推荐(0)

摘要:如果将需求分析阶段的工作归结为编写需求规格说明书,这种简化的做法往往是导致项目后期层出不穷问题的罪魁祸首。建议采用以下步骤形成软件需求:获取用户需求→分析用户需求→编写需求文档→评审需求文档→管理需求。下面我们先来讨论前两个步骤(获取用户需求、分析用户需求)的做法。 获取用户需求 这是该阶段的一个最重要的任务。以下为获取用户需求需要执行的活动(如图1所示)。 ● 了解客户方的所有用户类型... 阅读全文
posted @ 2005-04-14 13:31 blue.net 阅读(527) 评论(0) 推荐(0)

摘要:软件设计模式来源于Christopher Alexander的建筑学模式和对象运动。根据Alexander的观点,模式就是一个对于特定的系统的通用解决方案本身的重复。对象运动关注于将现实世界模化为软件内部的关系。基于这两个原因,软件设计模式对于真实世界的物体而言同样应当是可以重复的。这篇文章呈现了现实的世界中的非软件的模式实例,这些模式来源于《设计模式-可复用面向对象软件的基础》(Design P... 阅读全文
posted @ 2005-04-14 13:28 blue.net 阅读(213) 评论(0) 推荐(0)

摘要:在《开发.Net平台应用系统框架》(下面简称《一》文)中,我介绍我们开发的一个.Net下应用软件系统的框架,在本文,我将介绍我们是怎么在这个框架下开发系统的。前文附带了一个logistics示例工程,这是我们从开发的物流管理系统中精简出来的一个例子,为了便于说明,现在就按照这个简化的工程来具体谈谈各个部分的设计策略和框架的使用,从中也可以管窥整个系统的设计模式。 这个工程主要功能是入库单的入库,... 阅读全文
posted @ 2005-04-14 11:09 blue.net 阅读(316) 评论(0) 推荐(0)

摘要:微软的.Net平台给应用程序开发提供了一个非常好的基础系统平台,但是,如何在这个系统平台上构建自己的应用系统,还需要我们针对应用系统的特点,构建自己的应用系统框架(Framework)。我们在应用.Net开发系统的过程中,结合多年的开发经验,也参考了J2EE的架构,设计了一套.Net下的应用系统框架,以及相应的中间件和开发工具,已经在多个项目中和软件产品中应用,取得了很好的效果。现在向代价介绍这个... 阅读全文
posted @ 2005-04-14 10:54 blue.net 阅读(447) 评论(0) 推荐(0)