随笔分类 -  模式原则

模式原则
摘要:状态一致性问题的几个经验 1.尽可能晚的给状态赋值 2.如果必须给状态赋值最好使用try、finally语句,收到异常之后应该恢复已修改了的状态 3.通常,编写的代码应该尽可能少地修改全局状态 try语句后面可跟多个catch,catch捕捉Exception时顺序很重要,应该从特殊到通用 自定义异常: 致命的用户自定义异常从Exception派生 非致命的应用程序错误从Applicati... 阅读全文
posted @ 2008-01-04 12:29 湘西小刁民 阅读(177) 评论(0) 推荐(0)
摘要:错误与异常 异常是有可能发生但不应该发生的情况,从代码特定位置无法欲知异常是否会发生 如果能准确之处发生异常的位置,那就是错误 从编码角度,要么产生异常,要么正确处理错误 更好的策略是不要返回空对象(null),要么返回一个没有内容的对象,要么返回拥有默认数值的对象,或者产生一个异常来显示一个有意义信息 不应该把设置默认状态的代码放在构造函数内部,而应设置一个独立的方法,构造函数调用这... 阅读全文
posted @ 2008-01-03 12:27 湘西小刁民 阅读(183) 评论(0) 推荐(0)
摘要:组合:A包含B,AB生命周期相同,B随A产生、随A析构 聚合:A包含B,AB生命周期不同 阅读全文
posted @ 2007-12-14 12:06 湘西小刁民 阅读(165) 评论(0) 推荐(0)
摘要:Memento备忘录模式 解决对象状态回溯问题。 C++:CONST函数?友元? 简单复制对象的方法不光保存了方法,还继承了对象所有方法 MemberwiseClone()浅拷贝,只能正确拷贝值类型 备忘录对象-保存原发器对象的状态,但是不提供原发器对象支持的操作 当对象比较复杂时Memento的改变可以采用增量式改变,以提高效率 字段如果比较多可用序列化的方式实现备忘录,并可以实现通... 阅读全文
posted @ 2007-12-12 12:02 湘西小刁民 阅读(157) 评论(0) 推荐(0)
摘要:最近在学习设计模式,GOF那本书虽说经典,但是描述太抽象、难以理解,非常不适合初学者。 于是从微软WebCast上down来李建忠的设计模式视频,比啃GOF拿本书可好多了。 附上下载地址:http://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/Series/CsharpOOD.aspx AF解决系列对象变化,系列对象之... 阅读全文
posted @ 2007-11-06 19:59 湘西小刁民 阅读(364) 评论(0) 推荐(0)