![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
aladdin_leon
这个作者很懒,什么都没留下…
展开
-
单体模式(Singleton)备忘录
1.单体模式的宗旨 单体模式的宗旨在于确保某个类只有唯一的一个实例,并且为该类提供一个全局的访问点。 当我们开发项目时,经常会发现一些类需要只有一个实例,比如:Window Manager,Print Spooler,对数据库引擎的唯一访问点等等。单体模式被GoF归于创建型的模式,但我认为它应归位责任型的模式,因为单体模式的价值在于将一个类的职责集中在唯一的一个单体对象之中。...2006-12-26 12:26:00 · 112 阅读 · 0 评论 -
继承还是关联?是个问题
当我们的讲面向对象或系统设计的老师又在课堂上向我们传授在进行复用时“尽量使用合成/聚合,而不是使用继承”的“定理”的时候,可能我们仿佛真的找到了问题的解决方法,但是这背后意味着什么呢?我们为什么需要这样做呢?是否这是问题的最佳解决方案了呢?这一切的问题起源于一个名为“合成聚合复用原则”的OOD原则... 下面还是通过CSDN上Health King的专栏的一篇文章来进行讲述吧!...2006-12-26 12:46:03 · 239 阅读 · 0 评论 -
“开放-封闭”原则--OOD的基石
钻研OO设计模式有一段时间了,可是天生愚笨,总是不得真谛,于是想是不是该跳出来仔细的想一想了呢?为什么需要设计模式?GoF的23设计模式的设计原则是什么呢?在查阅了一些资料后,仿佛有了一些感觉,其实设计模式的原则就是OOD的原则,或者说设计模式是为了达到OOD的远景而提出的,所以正真的想掌握OO的精髓,那么学习设计模式是最好的途径,而想真正掌握设计模式的精髓,那麽就必须好好的理解一下OO...2006-12-26 13:01:03 · 73 阅读 · 0 评论 -
[转]里氏代换原则
从上一篇的“开-闭”原则中可以看出,面向对象设计的重要原则是创建抽象化,并且从抽象化导出具体化。这个导出要使用继承关系和一个原则:里氏代换原则(Liskov Substitution Principle LSP)。 那么什么是里氏代换原则呢?有个严格的表述,绕口,不好记。还是比较白话的这个好记。说的是:一个软件实体如果使用的是一个基类的话那么一定适用于其子类,而且它察觉不出基类...2006-12-26 13:17:31 · 71 阅读 · 0 评论 -
OOD的设计原则--接口隔离原则
接口隔离原则(ISP):使用多个专门的接口比使用单一的总接口要好。也就是说,一个类对另外一个类的依赖性应当是建立在最小的接口上的。 这里的“接口”往往有两种不同的含义:一种是指一个类型所具有的方法特征的集合,仅仅是一种逻辑上的抽象;另外一种是指某种语言具体的“接口”定义,有严格的定义和结构。比如Java语言里面的Interface结构。对于这两种不同的含义,ISP的表达方式以...2006-12-26 13:38:27 · 107 阅读 · 0 评论 -
“依赖倒转”原则(DIP)
还是通过CSDN上Health King的专栏的一篇文章开篇吧! “开放-封闭”原则是我们OOD的目标,达到这一目标的主要机制就是“依赖倒转”原则(DIP)这个原则的内容是:要依赖于抽象,不要依赖于具体。或者说是:要针对接口编程,不要对实现编程(Program to an interface, not an implementation)。 对于抽象层次来说,它是一个系统...2006-12-26 13:45:28 · 104 阅读 · 0 评论 -
关于Template Method模式的思考
首先让我们看看生活之中的“模板”,在《设计模式-JAVA语言中的应用》是这样说的:“模板(Template)是指在薄片塑料板上面写字(或印字)后挖空,再使用毛笔或色笔涂满挖空的部分,就能看到纯手工而又不失工整的字样。看到模板上挖空形状,马上就知道最后会变出什么样的字,不过实际上所显示出来的字样还是要依使用的画笔的种类而定。拿黑色签字笔当画笔,成果当然就是签字笔风的字样;光是铅笔来画,得到...2006-12-27 11:42:39 · 117 阅读 · 0 评论