代码改变世界

迪米特法则(LoD)最少知识原则

2009-12-01 17:33 by 闫妍, 163 阅读, 0 推荐, 收藏,
摘要:重要概念 1.拉米特法则,如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用(尽可能的封闭私有)。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用(如通过调用接口定义)。 2.在类的接口设计上,每一个类都应当尽量降低成员的访问权限,封装好私有成员,不需要被其他类知道的属性或方法就不要公开。 3.迪米特法则其根本思想,是强调了类之间的松耦合,类之间的耦... 阅读全文

模板方法模式

2009-12-01 16:22 by 闫妍, 188 阅读, 0 推荐, 收藏,
摘要:概念回顾 1. 使用了继承,并肯定了这个继承的意义,就应该要成为子类的模板,所有重复的代码都应该要上升到父类去,而不是让每个子类都去重复。 2. 当我们要完成在某一细节层次一致的一个过程或一系列步骤,但其个别步骤在更详细的层次上的实现可能不同时,我们通常考虑用模板来处理。 3. 定义一个操作中的算法的骨架,而将其中的一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算... 阅读全文

原型模式(Prototype)

2009-12-01 12:53 by 闫妍, 159 阅读, 0 推荐, 收藏,
摘要:重要概念回顾 1. 原型模式用原型实例(类中有一个复制自己的方法)指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 2.原型模式其实就是从一个对象再创建另外一个可定制的对象,而且不知道任何创建的细节。 3.对于.Net 在System命名空间中提供了ICloneable 接口,其中有一个唯一的方法就是Clone()。所以只需要实现这个接口就可以完成原型模式了,代替了上图中的Pro... 阅读全文

工厂方法模式(Factory Method)

2009-12-01 10:57 by 闫妍, 249 阅读, 0 推荐, 收藏,
摘要:重要概念 本章内容围绕简单工厂与工厂方法的比较很好的说明了工厂方法模式。 1.简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除类与具体产品的依赖,且无需修改代码,因为逻辑已经包含在了工厂类当中。 2.工厂方法模式定义一个用于创建对象的接口,让子类决定实例化那一个类。工厂方法使一个类的实例化延迟到子类。 3.实际上封装... 阅读全文

代理模式(Proxy)

2009-11-30 21:55 by 闫妍, 190 阅读, 0 推荐, 收藏,
摘要:大话设计模式讲的和连环画一样,还可以接上,作者真用心,看起来很有趣。 重要概念 1. 为其他对象提供一种代理以控制对这个对象的访问,就是为这个对象实例再包装一层。 2.远程代理,也就是为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在于不同地址空间的事实,比如WebService。 3.虚拟代理,是根据需要创建开销很大的对象,通过他来存放实例化需要很长时间的真实对象。... 阅读全文

装饰模式(Decorator)

2009-11-30 18:32 by 闫妍, 169 阅读, 0 推荐, 收藏,
摘要:重点概念 1. 把所需的功能按正确的顺序串联起来进行控制。 2. 动态地给一个对象添加一些额外的职责(功能),就添加功能来说,装饰模式比生成子类更为灵活。 3. 感觉和策略模式很像,但是条件设置方法放在父类的公共方法中被继承,区别装饰模式的重点在于“扩展”两个字,扩展原有功能,而不是动态的选择功能。 4. 装饰模式是利用“装饰者类”中的SetComponent 来设置被扩展对象的。这... 阅读全文

依赖倒转(依赖倒置)原则

2009-11-30 15:23 by 闫妍, 223 阅读, 0 推荐, 收藏,
摘要:1. 抽象不应该依赖细节,细节应该依赖于抽象(接口,抽象类)。 2. 针对接口编程,不要对实现编程。 3. 高层模块不依赖底层模块,两者都应该依赖抽象。 4. 依赖倒置含义在于,相互之间不依赖,除了约定好的接口实现,大家都可以灵活自如,子类实现接口进行“策略工厂”实现,高层模块通过使用接口来实现“开闭依赖倒置”。 5.依赖倒置其实可以说是面向对象设计的标志,用何种方式实现不重要,重要... 阅读全文

开放-封闭原则(OCP)

2009-11-30 13:15 by 闫妍, 268 阅读, 0 推荐, 收藏,
摘要:1. 不能修改该,但可以扩展的思想就是开闭原则 2. 软件实体(类、模块、函数等等)应该可以扩展,但是不可以修改。也就是对扩展开放,对更改关闭 3. 在面对需求的变更却可以保持相对稳定,从而使得系统可以在第一个版本以后不断推出先的版本 4. 多扩展,少修改。 5. 开闭原则的意思就是说,你设计的时候,时刻要考虑,尽量让这个类是足够好,写好了就不要去修改了,如果新需求来了,我们增加一些类就可... 阅读全文

单一职责原则

2009-11-30 09:16 by 闫妍, 160 阅读, 0 推荐, 收藏,
摘要:1. 单一职责,对一个类而言,应该仅有一个引起他变化的原因。 2. 如果一个类承担的职责过度,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完整其他职责的能力,这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。 3. 单一职责和单件模式不是一回事,单件模式指要求一个类有且仅有一个实例,并且提供了一个全局的访问点。 4. 单一职责想要告诉我们的是,根据功能... 阅读全文

策略模式 (Strategy)

2009-11-29 21:18 by 闫妍, 190 阅读, 0 推荐, 收藏,
摘要:策略模式定义了算法家族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的用户。 说明: 1.通过继承抽象策略实现多个具体策略方法处理,在一个类中传递不同的具体实例做为参数,获得不同的对象的算法,封装在同一个方法中,当这个类的实例调用这个封装了算法的方法时,因传入的对象参数的不同,获得的处理结果也不同。 2.通过传入的对象参数获得操作,改变一个方法的不同处理结果。 3.... 阅读全文
上一页 1 ··· 32 33 34 35 36 37 38 39 40 ··· 62 下一页