摘要: 一直很想写关于设计模式的具体使用的文章,可是一直没想好怎么去写,才可以通俗易懂,真正的让设计模式,应用到系统设计中.今天终于想到了,这个系列准备用实例去讲解如何使用(GOF)设计模式.
阅读全文
posted @
2008-08-25 11:13 涵舍愚人 阅读(2323) |
评论 (18) |
编辑
摘要: 前面的客户端程序中,遍历部门时,有个对部门还是人员的判断,然后按照不同的类型输出不同的结果,这样增加了客户端的复杂度,如果出现另一种情况,那么就要修改客户端,因为客户端程序大部分都不是出现在一个调用中,所以这样的修改十分可怕,如果输出有所变化,比如多加几个字,或者显示员工福利工资,那么就不得不修改客户代码所有出现的输出的地方.那么我们如何来封装这个变化呢?
阅读全文
posted @
2008-08-22 09:39 涵舍愚人 阅读(1544) |
评论 (12) |
编辑
摘要: 前面我们完成了复杂的Composite的创建的封装,但是那里面还有缺点:前面我们说了一个人可能身兼二职,尤其管理层的,更有这个可能,那么他就要出现在不同部门里,而我们现在的创建是一个节点一个对象,这样我们就要浪费内存了...怎么解决?
阅读全文
posted @
2008-08-21 09:03 涵舍愚人 阅读(1559) |
评论 (14) |
编辑
摘要: 在前面的文章中,我们设计完成了员工工资,福利以及按照部门来区分员工,以及遍历统计部门人员成本等业务逻辑,这些设计基本上可以满足我们所设定的场景的变化,可是创建部门及人员树的时候太复杂了,而且这种创建很容易发生变化,比如加入分公司,或者部门层级变动添加了层级的时候,创建的代码一定就要修改.那么如何避免,封装这个创建时的变化呢?
阅读全文
posted @
2008-08-20 14:52 涵舍愚人 阅读(1462) |
评论 (12) |
编辑
摘要: 前面我们设计完成了统计部门工资,这样的一个需求,但是在我们设计遍历员工信息的方法是固定不变的,也就是说是硬编码在PersonComposite类中的,由于Composite设计模式相当于一个树或者图的数据结构,那么他的遍历就会出现变化,比如在遍历部门和小组的时候采取不同的方法,以减少遍历的时间,那么如何去解决这个问题呢?
阅读全文
posted @
2008-08-19 12:10 涵舍愚人 阅读(2192) |
评论 (16) |
编辑
摘要: 前面我们设计了员工的工资,奖金,福利系统。今天客户又来增加需求了:"我们需要统计公司,部门,或者小组的薪资成本。"得到了需求,我们还是按照老套路来完成我们的设计。
阅读全文
posted @
2008-08-15 14:47 涵舍愚人 阅读(1982) |
评论 (34) |
编辑
摘要: 在前三篇中我们设计了员工的工资,绩效将金,以及员工福利,使用了Bridge(员工和工资的组合),Stratege(工资和绩效将金的设计)以及(Singleton)单件了这些算法,然后用Decorator(装饰)将员工进行职位的装饰.这些设计在我们前面所说的场景下,是符合设计模式的意图的,但是它仍然有一些漏洞.
阅读全文
posted @
2008-08-14 08:40 涵舍愚人 阅读(2482) |
评论 (10) |
编辑
摘要: 前面两篇中,完成了客户所提的"我们的系统要管理人员的工资.(为了模拟真实的开发场景,这里暂时先定义一个功能)人员分为实习员工和正式员工,他们的基本工资是不同的,工资包括基本工资和绩效工资."这样的一个系统需求.我们设计并完成了他,今天客户由于公司要给员工福利,而来追加需求"按照不同的职位,给与不同的福利,一个人可能身兼几个职位".
阅读全文
posted @
2008-08-12 11:51 涵舍愚人 阅读(2542) |
评论 (36) |
编辑
摘要: 上一篇我们分析了员工,工资,以及绩效奖金三个类,并且使用了Bridge和Stratege两种模式,对他们之间的组合和行为进行了设计,但是我们的设计并不完善。我们知道员工的基本工资可能每年都不一样,甚至有可能随时地根据公司的制度发生变化,而设计的根本意图就是去封装变化,让我们的系统更加的长寿,不会因为变化而大量的重造,我们怎么去避免工资变化时,员工类不改变呢??
阅读全文
posted @
2008-08-11 13:57 涵舍愚人 阅读(2374) |
评论 (18) |
编辑
摘要: 一直很想写关于设计模式的具体使用的文章,可是一直没想好怎么去写,才可以通俗易懂,真正的让设计模式,应用到系统设计中.今天终于想到了,这个系列准备用实例去讲解如何使用(GOF)设计模式.
阅读全文
posted @
2008-08-07 14:52 涵舍愚人 阅读(3913) |
评论 (64) |
编辑
摘要: 众所周知,DotNet框架是非常庞大的,光项目创建时的种类就有WPF,WCF,WF这三种最新的技术,还有以前的Web,WinForm,Service,Mobile等等. 这么复杂和庞大的框架,用文字来描述是远远不够的,所以我准备写一系列图文并茂的文章,把我所知道的所有Net框架中的东西全部串联起来(WPF,WCF,WF...),希望可以给大家一个DotNet框架的知识图,本人能力有限,难免有理解错误和表达不清的地方,望大家谅解并指教.
阅读全文
posted @
2008-08-06 12:05 涵舍愚人 阅读(5117) |
评论 (31) |
编辑
摘要: WCF是对于Webservice,.Net Remoting,Enterprise Service,WSE,MSMQ等技术的整合。那么他与Remoting和Webservice有什么关系呢?
阅读全文
posted @
2008-08-05 15:19 涵舍愚人 阅读(2315) |
评论 (9) |
编辑
摘要: XML是一种标记语言,就应该有一种工具按一定的语法来分析和理解存储在文档中信息。这个工具就是XML分析器---一个组件用于读标记文本并返回指定平台的对象。.NET 框架支持两种不同的分析模式:XMLDOM分析器和XML阅写器。
阅读全文
posted @
2008-07-25 16:16 涵舍愚人 阅读(2028) |
评论 (8) |
编辑
摘要: ADO.net类库有两种完全不同的方式来实现数据访问:连接式和断开式.ADO.NET没有提供单一的方式和不同的数据库进行通信,而是提供了多种数据提供器,这样的好处是可以将某种类型数据库的特性发挥出来.我们来看看ADO.NET中的核心类。
阅读全文
posted @
2008-07-22 12:13 涵舍愚人 阅读(2576) |
评论 (9) |
编辑
摘要: System.IO,要操作IO,就需要,确定储存媒介,打开,然后读取或者写入
阅读全文
posted @
2008-07-21 15:36 涵舍愚人 阅读(2292) |
评论 (5) |
编辑
摘要: 前面我们学习了.net的运行引擎,知道了Appdomain要承载各种dll,那么我们就来学习一下最基本的system.dll,这个任何代码都要引用的大家伙.
阅读全文
posted @
2008-07-21 11:35 涵舍愚人 阅读(2267) |
评论 (10) |
编辑
摘要: 众所周知,DotNet框架是非常庞大的,光项目创建时的种类就有WPF,WCF,WF这三种最新的技术,还有以前的Web,WinForm,Service,Mobile等等.
这么复杂和庞大的框架,用文字来描述是远远不够的,所以我准备写一系列图文并茂的文章,把我所知道的所有Net框架中的东西全部串联起来(WPF,WCF,Silverlight,Remoting...),希望可以给大家一个DotNet框架的知识图,本人能力有限,难免有理解错误和表达不清的地方,望大家谅解并指教.
阅读全文
posted @
2008-07-21 11:34 涵舍愚人 阅读(3946) |
评论 (28) |
编辑
摘要: 众所周知,DotNet框架是非常庞大的,光项目创建时的种类就有WPF,WCF,WF这三种最新的技术,还有以前的Web,WinForm,Service,Mobile等等.
这么复杂和庞大的框架,用文字来描述是远远不够的,所以我准备写一系列图文并茂的文章,把我所知道的所有Net框架中的东西全部串联起来(WPF,WCF,Silverlight,Remoting...),希望可以给大家一个DotNet框架的知识图,本人能力有限,难免有理解错误和表达不清的地方,望大家谅解并指教.
阅读全文
posted @
2008-07-21 11:34 涵舍愚人 阅读(3132) |
评论 (29) |
编辑