2012年5月15日

设计模式之(十七)状态模式State

摘要: 由简单的开始会比较好理解状态模式的作用,先来看一个列子如果你有一个只能顺时针转动的瓦斯开关,转动一次的状态为OFF Small fire 与 large fire ,你如何在程序中控制状态于行为变化呢?一个最简单的方式就是用if else 或是sweitch如enum DocumentState{ Readonly, Editable}public class Document{ DocumentState State; public void Handle() { if(state.Readonly == state) { } if(... 阅读全文

posted @ 2012-05-15 14:47 361741352 阅读(170) 评论(0) 推荐(0) 编辑

Visitor 访问者模式

摘要: 意图 表示一个作用于某对象结构的各个元素的操作,他可以在不改变各元素的前提下定义作用于这些元素的新的操作。public abstract class Shape{ public abstract void Draw();}public class Rectangle :Shape{ public override void Draw() { // }}public calss Circle:Shape{ public override void Draw() { // }}假设现在Shape 需要新增加一个特性MoveTo操作,它所有的子类都需要添加一个Moveto的... 阅读全文

posted @ 2012-05-15 00:36 361741352 阅读(217) 评论(0) 推荐(0) 编辑

2011年3月19日

设计模式之------ 策略模式

摘要: 1 当代码过多重复的时候应当考虑代码重构2 具有相同属性和功能的对象的抽象集合才是类;3 抽象就是认识到事物的本质的东西不要被形式所迷惑,主要考虑两个方面看他们是否具有相同的属性和功能;功能是否相同主要看算法是否相通4 策略模式使界面和业务之间通过策略联系起来策略模式中的两个角色:客户和策略.客户的职责是了解行为的差别,定义同一的接口.策略的职责是提供不同的实现,并根据客户的意图来选择.至于有多少种行为,一般很难知道,因为随着发展会有不同的变化加入.现实中一个简单的例子就是根据客户的要求选择不同的加密算法.当有新的加密算法出现时,客户需要知道这个变化,此时策略此可以灵活的选择使用新的算法.未完 阅读全文

posted @ 2011-03-19 23:29 361741352 阅读(207) 评论(0) 推荐(1) 编辑

设计模式学习笔记

摘要: 代码书写注意事项1 命名规范2 根据语法知识选择适当的代码表示方式,使得程序性能提升;3 注意容错性的处理和友好的提示;4 使用面向对象的方式编写代码 使代码可维护----要改只改某一个对象 可复用 可扩展 ---- 直接增加对象 灵活性好的代码5 大量的复制 粘贴代码会给后期维护带来很大的麻烦;编写代码的时候应当尽可能的避免重复的代码;6 编写代码的首先的学会分离比如业务和显示界面的分离,然后再对业务里面的扩展业务进行分离根据类的特性进行封装;当业务和界面分离好啦以后业务对业务进行单独分析,首先对业务进行扩展扩展出来的新的业务和原来的业务进行对比是否具有相同的特性如果没有则需要建新的对象对新 阅读全文

posted @ 2011-03-19 21:17 361741352 阅读(256) 评论(1) 推荐(1) 编辑

导航