摘要: 下面是一些关于阅读<Essential .Net, CLR>的体会, 当时记录在Txt文本中, 现在直接copy上来, 格式可能会有所不适:1. CLR types are uniquely identified by their assembly name/type name pair, but it does not help the programmer to distincti... 阅读全文
posted @ 2009-06-02 14:31 Tyrael 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 1. Problem: 软件设计的变化可以归于2类: 1.1, 改变某方法行为. 1.2, 增加新方法(不改变已有类).2. Solution: @1.1,OO中的继承和多态, DP中众多模式都是解决此问题, virtual method, 通过新增类来override出新行为. @1.2, DP中的Visitor pattern提供了一个比较trick的方案. Visitor pattern本质... 阅读全文
posted @ 2009-06-02 14:24 Tyrael 阅读(104) 评论(0) 推荐(0) 编辑
摘要: Principle in DP:1. Everything is an object. 1.1 所有的模式都是围绕对象展开. 解决方案大体可分2类: 1.1.1 通过Add type, override virtual method, 来适应改变. Factory, decorator 等等众多模式都是如此. 1.1.2 简单创建对象, 通过对象的自管理来处理变化. Facade, mediato... 阅读全文
posted @ 2009-06-02 14:08 Tyrael 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 1. 单一职责原则(SRP), 高内聚.2. 开放-封闭原则(OC),扩展开放(对于系统),修改关闭(对于成型模块). - 扩展开放:某模块的功能是可扩展的,则该模块是扩展开放的。软件系统的功能上的可扩展性要求模块是扩展开放的。 - 修改关闭:某模块被其他模块调用,如果该模块的源代码不允许修改,则该模块修改关闭的。软件系统的功能上的稳定性,持续性要求是修改关闭的。3. 里氏代换原则(LSP). 基... 阅读全文
posted @ 2009-06-02 13:48 Tyrael 阅读(3335) 评论(0) 推荐(0) 编辑
摘要: 一篇介绍抽象类与接口区别的文章:http://www.cnblogs.com/clongge/articles/1238998.html------------------------------------------------------------------精辟之处:1. (Principia) 抽象类主要用于关系密切的对象;而接口适合为不相关的类提供通用功能.2. (E.g) 飞机会飞... 阅读全文
posted @ 2009-06-02 13:43 Tyrael 阅读(175) 评论(0) 推荐(0) 编辑