
设计模式
陈家小子
我们不能一辈子做技术,技术只是年轻的活。
技术在不停的更新,我们需要转变我们的思路,
记得要有野心和自我学习的能力。
展开
-
设计模式学习之单一职责原则
一个产品简单一些,职责单一一些,或许是更好的选择。 一个类而言,应该仅有一个引起它变化的原因。打个比方,我们在新建一个winform应用程序的时候,就会有个Form类自动生成,那么,在这个自动生成的类里面,我们不能把所有的代码都往里面填,什么db连接,逻辑层的代码等等都往里面塞。万一哪天要改个需求,你就得去改这个Form类里面的内容。麻烦啊!!! 如果一个类承担的指责过多,就等于把这些指责耦合原创 2014-03-16 00:17:04 · 841 阅读 · 0 评论 -
设计模式学习之策略模式
策略模式:它定义了算法家族,分别封装起来,让它们之间可以相互替换,此模式让算法的改变,不会影响到使用算法的客户。[摘录] 单独的策略模式: 先上一张UML类图 说明一下: 策略类Strategy,定义了所有支持的算法的公共接口,可以是一个抽象类。 ConcreteStrategyA或者B、C封装了具体的算法或者行为,继承Strategy类。 override类Strategy中原创 2014-03-16 00:03:07 · 623 阅读 · 0 评论 -
设计模式学习之简单工厂模式
先上一张UML类图。 再看看代码: Operation.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { public class Operation { pr原创 2014-03-15 14:41:46 · 692 阅读 · 0 评论 -
设计模式学习之开放封闭原则与依赖倒置原则
1.开放封闭原则是说对软件实体(类啊、模块啊、函数啊等等)应该可以扩展,但是不可以修改。也就是对扩展开放、对更改封闭。 2.依赖倒置原则高层模块或者底层模块都依赖于抽象,抽象不应该依赖于细节。针对接口编程,而不是针对实现编程。程序中所有的依赖关系都终止于抽象类或者接口。 3.里氏代换原则:子类型必须能够替换掉他们的父类型。只有当子类可以替换掉父类,软件单位的功能不受到影响时,父类才能真正被复用原创 2014-03-18 16:26:12 · 1098 阅读 · 0 评论 -
设计模式学习之迪米特法则
迪米特法则(LoD):也叫最少知识原则。如果两个类彼此不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。 迪米特法则首先强调的前提是在类的结构设计上,每一个类都应当尽量降低成员的访问权限,也就是说,一个类包装好自己的private状态,不需要让别的类知道的字段或者行为就不要公开。它强调了类之间的松耦合。在设计程序原创 2014-04-02 15:43:17 · 628 阅读 · 0 评论 -
设计模式学习之代理模式
代理模式:为其他对象提供一种代理以控制对这个对象的访问。 类图: Subject类:定义了RealSubject和Proxy的共用接口,这样就在任何RealSubject的地方都可以使用Proxy。 RealSubject类:定义了Proxy所代表的真实实体。 Proxy类:保存一个引用是的代理可以访问实体,并提供一个与Subject的接口相同的接口,这样代理就可以用来替代实体。原创 2014-03-24 23:31:49 · 609 阅读 · 0 评论