DP
呵离
人生百味,情最浓,人生繁华,淡最真.不论时光如何流转,有些东西不会改变,那就是对美好的追求,对真情的渴望.
展开
-
设计模式之工厂方法
意图 定义一个创建对象的接口 让子类决定创建哪个 当一个类不知道它所必须创建的对象的类的时候 将创建对象的职责委托给子类,由一个多个子类中的一个来创建 组成 产品角色 product 接口 具体产品角色 concreteproduct 具体的产品生产 工厂角色 Factory 返回一个Product 具体工厂角色ConcreteFactory原创 2015-07-25 16:58:32 · 424 阅读 · 0 评论 -
设计模式六大原则
http://www.uml.org.cn/sjms/201211023.asp 设计模式六大原则(1):单一职责原则 定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。 解决方案:遵循单一职责原则。分别建立两个转载 2015-09-16 21:30:11 · 250 阅读 · 0 评论 -
模式设计之组合Composite
http://www.cnblogs.com/Terrylee/archive/2006/03/11/347919.html原创 2015-08-20 16:11:28 · 295 阅读 · 0 评论 -
设计模式之桥接
介绍 实现与抽象分离, 使他们可以独立变化, 甚至运行时进行实现的切换; 对象这个概念实际是由属性和行为两个部分组成的,属性我们可以认为是一种静止的,是一种抽象,一般情况下,行为是包含在一个对象中,但是,在有的情况下,我们需要将这些行为也进行归类,形成一个总的行为抽象,这就是桥模式; 不希望抽象部分和行为有一种固定的绑定关系,而是应该可以动态联系的; 例子 例如,一原创 2015-08-19 21:13:09 · 376 阅读 · 0 评论 -
设计模式之模板模式
Template Method介绍 定义一个操作中算法的骨架, 将一些具体在步骤的实现延迟到子类, 即可以在不改变一个算法的结构的基础上,通过子类就可以重定义算法的某些特定步骤; 适用性 一次性定义了一个算法的固定部分, 将可变的部分留给来实现; 将子类中的重复的行为提取到父类中来以避免代码的重复; 控制子类的扩展;原创 2015-08-08 17:21:27 · 370 阅读 · 0 评论 -
模式设计之状态模式
介绍 在通信网络中, TCP连接时用到的状态机就可以用该模式来实现, 即在当前系统有指定的集中状态且有如下的转换关系A–>B, B–>C, C–>D, D–>A, A–>D….., 上面的集中转换路线是在某些条件下才触发的, 这种情况就适合用状态机; 状态的切换不像普通的if else if else的应用, 对一些简单的条件判断或简单的状态切换是没有必要以增加子类的方法来处理的, 直原创 2015-08-17 21:07:39 · 458 阅读 · 0 评论 -
设计模式之代理模式
介绍 为其它对象提供一种代理以控制对这个对象的访问, 如只有当真的要访问这个对象的时候才进行创建并初始化, 在者之前可以利用该对象的代理, 这样就省去了创建和初始化的消耗; 适用性原创 2015-08-05 20:54:28 · 502 阅读 · 0 评论 -
设计模式之装饰模式
介绍 扩展类型可以通过继承来实现, 但很多时候我们需要为对象动态添加一些部件, 用继承实现的话可能会造成子类的膨胀, 而且也没有必要专门为一种对象设立一种类型, 比如现在有一个文本框类, 现在需要需要一个带滑动条的文本框 或是一中带按钮与滑动条的文本框, 显然由于需求的经常变化, 如果采用继承来提供这样的对象是不合理的, 采用装饰模式, 只要对文本框对象动态的添加上相应的部件即可.原创 2015-08-03 21:15:04 · 544 阅读 · 0 评论 -
设计模式之适配器
当前工程的应用与模式的对应; 设计不足; 都不好意识,自己也是一知半解 4.原创 2015-08-15 18:05:32 · 423 阅读 · 0 评论 -
设计模式之观察者模式
简介 定义了一种一对多的依赖关系, 即当一个对象subject改变时, 会通知所有与之关联的对象observer并自动更新; 也叫发布-订阅publish-subscribe, 依赖Dependents; 这些依赖的对象之间可能不知道对方的存在; 当subject发生变化, observer会查询目标并更新状态; 适用 当一个对象发生变化时希望通知另几个对象,原创 2015-08-12 20:03:52 · 383 阅读 · 0 评论 -
设计模式之策略模式
介绍 它定义了算法家族, 分别封装起来, 算法之间可以相互替换, 算法的变化不会引起算法使用者;原创 2015-07-31 20:35:08 · 488 阅读 · 0 评论 -
设计模式之外观模式
介绍 所谓外观模式Facade, 就是将子系统的接口进行抽象, 使得客户端可以更方便去使用这些子系统, 而无需了解子系统之间的耦合关系; 可以实现子系统与客户之间的松耦合关系, 子系统内部的功能组件往往是紧耦合的; Facade将客户的请求代理给适当的子系统对象; 子系统: 实现相应的功能, 处理有facade指派的任务, 子系统是没有任何facade的信息, 即没有facad原创 2015-08-11 19:48:53 · 301 阅读 · 0 评论 -
设计模式之原型模式
介绍 所谓原型模式就是类可以通过其它对象来直接产生另一个克隆对象, 而不必要每次都调用构造函数来获得相应的对象原创 2015-07-30 00:15:29 · 420 阅读 · 0 评论 -
设计模式之简单工厂
原理 工厂创建产品时, 通过传入相应的参数创建相应的产品原创 2015-07-29 21:56:09 · 366 阅读 · 0 评论 -
设计模式之创建者模式
意图 对象的构建与表示分离,用同样的创建过程可以创建不同的对象 适应性 创建的算法与对象的组成独立 同样的构造过程允许构造不同的对象 Builder Patten 组成 抽象建造者Builder 具体建造者ConcreteBuilder 指挥者Director 产品角色Product原创 2015-07-23 00:22:06 · 490 阅读 · 0 评论 -
设计模式之相关原则
单一职责原则 就一个类而言, 应该只有一个引起它变化的原因; 开放-封闭原则 软件实体如类, 函数, 模块可以扩展, 但不能被修改; 扩展是开放的, 修改是封闭的;原创 2015-08-08 17:41:30 · 329 阅读 · 0 评论 -
设计模式总结1
为什么用面向对象: 四大发明之一活字印刷术—可复用, 可维护, 可扩展, 灵活性好; 在编程中就是通过: 封装, 继承, 多态来实现;六大原则: 开放-封闭原则 扩展是开放的, 修改是封闭的(对原有代码的修改); 将变化抽象出来; 当我们设计之初, 假设不会变化, 但当变化发生时, 我们就创建抽象来隔离以后的变化; 面对需求, 对程序的改变是通过增加代码进行的, 而不是改变现原创 2015-09-17 17:32:14 · 359 阅读 · 0 评论