![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
inshua
a
展开
-
设计模式(一)
今日无事。回顾一下设计模式。设计模式是多年以前的设计经验总结,命名很混乱,这种叫法那种叫法都有。关于 UML,我自认是师出刘润东先生,看懂了设计模式后,更加觉得刘先生的讲法更妥当。先把常见的单词定义好,中文表达能力不强很大程度上是因为个人用词不严谨:继承:子类继承自父类。派生:父类派生出子类。抽象类:占位子的类,从子类抽取出来。不要相信设计者先画抽象类,然后派生线,具体类,抽象的过程是从具体开始的原创 2005-09-09 13:19:00 · 468 阅读 · 0 评论 -
设计模式(二)-创建模式
创建对象最简单的办法就是 new 所属类() 。但是,以人类为例,只有亚当和夏娃是从泥土被造的,所有的人都有父母,不是直接 new 出来的。某些场合会用到受管理的类,不由用户任意创建。例如管理器对于寄放件而言,所有的寄放件都需要在管理器登记,所以,创建寄放件对象不能交给用户,而由管理器的函数来做。这样的管理器具备工厂的行为特点。工厂(Factory)模式就是这样做的。工厂 Creator 的 Fa原创 2005-09-09 13:33:00 · 748 阅读 · 0 评论 -
设计模式(二)-什么是模式
以前学做游戏,书上说,一个打飞机的游戏,小飞机到处乱飞,那么它们究竟怎么飞才好?随机数+轨迹函数当然是一种方法,实际上,为了增大难度,录制一段轨迹(一个 Point(x,y) 的链表)等用户的飞机飞来后,彩排一道就是了。这种轨迹叫做行为模式,例如蜜蜂是按 8 字飞的。所谓设计模式意思就是常用软件设计方法,亦即开发人员常见飞行轨迹。既然是常用,很多东西大家都想的到,即使想不到,也见得到,例如工厂模式原创 2005-09-09 14:13:00 · 495 阅读 · 0 评论 -
设计模式(三)-结构模式
代理(Proxy)模式:如果业务类没有安全机制,什么操作都可以做,什么危险都可能发生。代理模式提供了一种解决危机的办法。派生一些业务的兄弟类作为业务类的代理,这样,老板有老板的代理类,营销有营销的代理类。永远不直接使用那个深藏杀机的业务类。问题解决。图形如下:图中,代理类邀请业务类做具体操作。面具(Adapter)模式:字面的翻译是适配器,我认为翻译成面具好理解一点。如果你手里有一个做好的东西:足原创 2005-09-09 15:40:00 · 507 阅读 · 0 评论 -
设计模式(四)-行为模式
动作链(Chain of Resp.)模式:asp 有很多页面,各自之间的跳转代表了一定的程序逻辑。在 struts 的配置文件里,要说明页面的 forward 为哪个页面。对象处理完自己的工作后就把局面交给下一个对象。 从抽象处理器派生了两个具体处理器,当处理请求成功的时候,转到另一个处理器。命令(command)模式:用过 delphi 的人对这个模式应该不陌生。没用过的建议体验一下 TAct原创 2005-09-09 17:02:00 · 597 阅读 · 0 评论 -
设计模式(五)
记得 2002 年的时候开始看 OO 的书,同时买的设计模式和刘润东先生的 UML,一直不是很感冒。其实,设计模式是一些前人走过的经验之路,正如前文里提到的,例如游标模式等等,已经变成我们生活的一部分。昔人云,李杜诗篇万口传,至今已觉不新鲜。床前明月光这样的句子,小学生都会背诵了。设计模式也是如此,对于 OO 的应用,设计模式给我们开了个好头。唯有价值的东西逐渐沉淀,成为我们日常的一部分。今天学习原创 2005-09-09 17:20:00 · 573 阅读 · 0 评论