设计模式
文章平均质量分 81
lovelanjuan
这个作者很懒,什么都没留下…
展开
-
开放—封闭原则
正如Ivar所说,“所有的系统在它的生命周期内都会改变,开发系统时期待它比第一个版本能够持续更长的时间往往另人头疼。”怎么设计才能使其面对改变比较稳定并且比第一个版本持续更长时间?Bertrand Meyer在1988年就给出了指导方针即后来创造的著名的开放-封闭原则。“软件实体(类、模块、函数等)应该对于扩展开放,但对于修改封闭。 当对程序进行一个单一个改动会导致它所依赖的模型转载 2012-03-08 13:46:44 · 1201 阅读 · 0 评论 -
单一职责原则
S- Single Responsibility Principle(SRP)单一职责原则 引:只有佛自己有道破玄机的责任。 单一职责表现为“强聚集”(cohesion),不应该有一个以上的原因修改一个类。 例如一个保龄球小游戏,可以用一个"Game"类处理两个单独的职责。一个是保持现在框架的轨迹,另一个是计算分数,但最后它被拆成了两个类。因为每个职责是类修改的一个基准线,当需求改变时,翻译 2012-03-08 12:41:57 · 1129 阅读 · 0 评论 -
迪米特法则
法则定义 迪米特法则(Law of Demeter)又叫作最少知识原则(Least Knowledge Principle 简写LKP),就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。英文简写为: LoD. 来源历史 1987年秋天由美国Northeastern University的Ian Holland提出,被UML的创始者之一Booch等普及。后来,因为在经转载 2012-03-09 15:46:27 · 1095 阅读 · 0 评论 -
依赖倒转原则
3.1 依赖倒置原则的定义 依赖倒置原则(Dependence Inversion Principle,简称DIP)这个名字看着有点别扭,“依赖”还“倒置”,这到底是什么意思?依赖倒置原则的原始定义是:High level modules should not depend upon low level modules. Both should depend upon abstract转载 2012-03-09 14:05:33 · 833 阅读 · 0 评论 -
里氏代换原则
里氏代换原则(Liskov Substitution Principle, LSP) 1、里氏代换原则定义 若对于每一个类型S的对象o1,都存在一个类型T的对象o2,使得在所有针对T编写的程序P中,用o1替换o2后,程序P的行为功能不变,则S是T的子类型。 What is wanted here is something like the following substitution pro转载 2012-03-09 14:14:43 · 1509 阅读 · 0 评论 -
接口隔离原则
接口隔离原则(Interface Segregation Principle) 1、接口隔离原则的定义: 第一种定义: Clients should not be forced to depend upon interfaces that they don't use.客户端不应该依赖它不需用的接口。 第二种定义:The dependency of one class to another转载 2012-03-09 16:22:01 · 548 阅读 · 0 评论 -
单例模式完全剖析
概要 单例模式是最简单的设计模式之一,但是对于Java的开发者来说,它却有很多缺陷。在本月的专栏中,David Geary探讨了单例模式以及在面对多线程(multithreading)、类装载器(classloaders)和序列化(serialization)时如何处理这些缺陷。 单例模式适合于一个类只有一个实例的情况,比如窗口管理器,打印缓冲池和文件系统,它们都是原型的例子。典型的情况转载 2012-03-15 00:11:37 · 457 阅读 · 0 评论 -
ITK 配准框架中的 Subject/Observer 模式及优化过程模拟演示-1
最近正式开始研究 ITK 的配准框架及其过程,先把自己理解到的一些东西写出来记下。 ITK 中的医学图像配准框架主要由以下几部分组成:几何变换组件、图像插值组件、相似性测度组件、优化组件、以及连接各个组件的配准方法组件。对于多分辨策略还会多出两个图像金字塔组件。 图像配准的本质是一个迭代优化的过程,关于图像配准框架示例可参考:ITK 配准框架示例,或者参考 ITK 文档。简单的说,转载 2012-04-06 13:38:06 · 1672 阅读 · 0 评论