上一页 1 ··· 6 7 8 9 10 11 12 13 14 下一页
摘要: 概述 在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的。那么如何应对这种“迁移的变化”?如何既能利用现有对象的良好实现,同时又能满足新的应用环境所要求的接口?这就是本文要说的Adapter 模式。 意图 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作... 阅读全文
posted @ 2011-04-08 00:34 spring yang 阅读(2934) 评论(7) 推荐(2) 编辑
摘要: 概述 在软件系统中,有时候面临的产品类是动态变化的,而且这个产品类具有一定的等级结构。这时如果用工厂模式,则与产品类等级结构平行的工厂方法类也要随着这种变化而变化,显然不大合适。那么如何封装这种动态的变化?从而使依赖于这些易变对象的客户程序不随着产品类变化? 意图 在软件系统中,经常面临着“某些结构复杂的对象”的创建工作;由于需求的变化,这些对象经常面临着剧烈的变化,但是它们却拥有比较稳定一致的接... 阅读全文
posted @ 2011-04-06 22:55 spring yang 阅读(2145) 评论(0) 推荐(2) 编辑
摘要: 概述Singleton模式要求一个类有且仅有一个实例,并且提供了一个全局的访问点。这就提出了一个问题:如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?客户程序在调用某一个类时,它是不会考虑这个类是否只能有一个实例等问题的,所以,这应该是类设计者的责任,而不是类使用者的责任。 从另一个角度来说,Singleton模式其实也是一种职责型模式。因为我们创建了一个对象,这个对象扮演了独一无二的角色,在这个单独的对象实例中,它集中了它所属类的所有权力,同时它也肩负了行使这种权力的职责! 意图 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 模型图 逻辑模型图:物理模型图:<De 阅读全文
posted @ 2011-04-05 14:37 spring yang 阅读(2112) 评论(1) 推荐(1) 编辑
摘要: 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。(原文:The Strategy Pattern defines a family of algorithms,encapsulates each one,and makes them interchangeable. Strategy lets the algorithm vary independently from clients that use it.) Context(应用场景): 1、需要使用ConcreteStrategy提供的算法。 2、 内部维护一个St 阅读全文
posted @ 2011-04-02 00:07 spring yang 阅读(2310) 评论(2) 推荐(2) 编辑
摘要: 我们以一个线程例子来说明下抽象工厂是如何工作的.平时我们都会收发邮件,那我们就做个邮件引擎线程. 定义: 抽象工厂模式是一种创建型的模式。上面的比喻说明了抽象工厂就是生产同一个系列产品的东西,因为这一系列的产品是关联的,如果混用就可能出问题,所以就统一的在抽象工厂中进行创建。当要增加一个新的产品系列时,就多写一个工厂子类并添加相应的产品子类就可以了。 我们来看一个类图。 图中,我们可以看到,客户需要得到某系列的产品的时候,直接用相应的工厂子类来创建产品就可以了。示例用例图接来下我们设计个邮件发送的线程实例,先看用例图:代码设计首先创建一个接口ISaaSProcess.cs: /// <s 阅读全文
posted @ 2011-03-31 23:42 spring yang 阅读(3253) 评论(5) 推荐(2) 编辑
摘要: 园子里讲设计模式的太多了,最近我也在学设计模式,把我自己练的一些代码整理下,写个.NET设计模式学习笔记来让自己在设计模式的功底更深一层。记得金庸小说里风清扬教令狐冲的时候,说过独孤九剑的总纲,无招胜有招,其实设计模式中也有这种总纲,那便是 ?Identify the aspects of your application that vary and separate them from what stays the same.(找到系统中变化的部分,将变化的部分同其它稳定的部分隔开)。而我就有泡妞二十三招比喻设计模式的二十三种模设的开篇吧,作为大家茶余饭后的笑资。 1、ABSTRACT FA 阅读全文
posted @ 2011-03-31 19:18 spring yang 阅读(3890) 评论(5) 推荐(8) 编辑
摘要: 这个系列我一共写了八篇,从什么是三层架构到一个简单的三层架构从数据库设计、SQLHelper设计、Modle设计、DAL设计、BLL设计到UI的设计作了简单的说明,在这其中有很多读者提出了很好的意见,我很高兴,我只是把我的理解粗略的写出来分享,以此来回顾以前做过的一些项目的总结,希望自己在这其中有些启发,同时也接受读者给我的批评,来使自己有所提高。步步为营 .NET三层架构解析系列步步为营 .NET三层架构解析 一、什么是三层架构步步为营 .NET三层架构解析 二、数据库设计步步为营 .NET三层架构解析 三、SQLHelper设计步步为营 .NET三层架构解析 四、Model设计(四种设计. 阅读全文
posted @ 2011-03-30 23:09 spring yang 阅读(10765) 评论(10) 推荐(11) 编辑
摘要: 这次我们设计员工操作列表Custom.aspx和部门操作列表Departmant.aspx的设计.以及如何设计GridView的分页功能.先调用BLL设计方法获取数据的List列表,转换成PagedDataSource,再设置PagedDataSource属性来实现分页功能.先看Custom.aspx的设计:<div style="text-align: center"> <asp:GridView ID="gvCustom" DataKeyNames="ID" OnRowDeleting="GridVie 阅读全文
posted @ 2011-03-28 20:48 spring yang 阅读(4745) 评论(9) 推荐(4) 编辑
摘要: 在我们设计好了三层架构的SQLHelper、Model、DAL和BLL后,我们要开始来调用它设计好的功能了。首先我们来设计Login.aspx,先看界面的设计: <table> <tr> <td style="width: 100px; text-align: right"> 帐户名:</td> <td style="width: 100px"> <asp:TextBox ID="txtUserName" runat="server">< 阅读全文
posted @ 2011-03-27 23:29 spring yang 阅读(6213) 评论(13) 推荐(4) 编辑
摘要: BLL层,又叫业务逻辑层,顾名思义,就是放置业务逻辑的地方.业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据访问层而言,它是调用者;对于表示层. 阅读全文
posted @ 2011-03-26 23:33 spring yang 阅读(8202) 评论(30) 推荐(6) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 下一页