随笔分类 -  设计模式

近来对设计模式很感兴趣,水平还很菜...
三层、多层结构
摘要:三层、多层结构就像多个人,分别不同负责各自的工作。该知道自己知道的,不该知道自己不知道的。别八卦,别打听不该自己知道的事。 表示层:不应该知道的:不应该看到物理的数据存储。不应该有connection strings,Connections,Commands或者类似。应该知道的:应该知道主要模块。 业务逻辑层:不应该知道的:不应该知道数据库在哪里。不应该有connection strings,Co... 阅读全文

posted @ 2004-07-16 21:10 Martin XJ 阅读(1723) 评论(6) 推荐(0)

C#设计模式之抽象工厂(AbstractFactory)
摘要:1. 为什么要用抽象工厂?用抽象工厂的好处 这里我暂时还想不出有什么好处 我觉得就是利用接口来实现封装其子类,让具体的工作交给它的子类去做。所以说这应该不能算抽象工厂的优点,只能算作接口的优点。 2. 在C#中怎样用抽象工厂? 好,我们来看一下怎么来实现 比如说我们要写一个连接数据库的组件,既支持sqlserver的,又要支持oledb的,这时我们就可以用AbstractFactory设计... 阅读全文

posted @ 2004-06-29 08:32 Martin XJ 阅读(1559) 评论(8) 推荐(0)

C#设计模式之组合(Composite)
摘要:1. 为什么要用组合?用组合的好处 比如我们有树状结构的对象,我们就可以用组合(Composite)设计模式。我可以很清楚的表示对象的结构。 2. 在C#中怎样用组合? GOF中的组合模式: Leaf相当于树状结构最底层对象,即树的叶子。 Composite相当于树干,树干下面可以包含树干,当然也可以包含叶子。 它们共同继承树的部分(Component)。 现实世界中一个具体的例子:... 阅读全文

posted @ 2004-06-28 17:39 Martin XJ 阅读(2181) 评论(4) 推荐(0)

浅析issuevision中的command模式
摘要:浅析issuevision中的command模式 在issuevision中有个command设计模式,就像一个指挥官,一声令下,他的士兵们都得听他的命令。 在issuevision中, Commander又分为ToolbarButtonCommander和MenuItemCommander,即有两个指挥官,一个管toolbar,一个管menu public class Command {... 阅读全文

posted @ 2004-06-14 13:43 Martin XJ 阅读(1413) 评论(1) 推荐(0)

C#设计模式之原型(ProtoType)
摘要:1. 为什么要用原型?用原型的好处 比如我们有一个工具栏按钮,新建按钮,它是ToolbarButton的实例,它有长度、宽度属性等,而且属性都赋了值。 现在我们要再添加一个保存按钮,它也是ToolbarButton的实例,它也有长度、宽度属性等,不过它还没赋值,它的值和新建按钮的值一样。 如果我们不用原型设计模式的话,可能重新赋一遍值。如果我们用原型设计模式的话,我们可以把新建按钮作为保存按钮的... 阅读全文

posted @ 2004-06-14 13:42 Martin XJ 阅读(1446) 评论(2) 推荐(0)

关于集合类的做法!
摘要:类工程:using System;using System.Data; namespace MyProduct.Employee{ /// /// Employee的实体类 /// public class EmployeeEntity { private int mEmployeeID; private string mLastName; priva... 阅读全文

posted @ 2004-06-14 13:18 Martin XJ 阅读(1290) 评论(1) 推荐(0)