![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
Boyben
这个作者很懒,什么都没留下…
展开
-
Strategy
Strategy模式的主要目的是使程序能够在运行期动态的改变所需要的办法,而且最主要的是,在各个模块中实现松耦合。Strategy模式中,Strategy模块提供一个公有接口(interface),然后Strategy模块通过组合(composite) 将他置身于Context中,Conetxt模块保持着一个指向Strategy的指针m_pStrategy,Context相应的操作都通过m_pSt原创 2006-09-25 12:00:00 · 1120 阅读 · 0 评论 -
Strategy、Template Method和Bridge模式
(原文出处:http://today.java.net/pub/a/today/2004/10/29/patterns.html)OOP语言提供给我们最有用的东西可能就是多态了。比如说:在不知道一个对象具体类型的情况下向这个对象发送消息的能力。事实上,没有比Strategy模式更能说明这一点的模式了。为了说明Strategy模式,让我们假设我们正在设计一个debug logger。通常De转载 2006-09-28 17:13:00 · 1211 阅读 · 0 评论 -
Observer
以前学习MFC的时候,在MDI框架下,经常会用到CDocument::UpdateAllViews(),然后在CView::Update()里面添加相应的代码。这样做的结果是当其中一个view的内容变化了,那么可以使其他view也作出相应的调整。知道现在才意识到原来这就是Observer模式。Observer模式的核心其实就是定义一个一对多(one to many)的映射关系,这些对象之间可以原创 2006-09-25 16:45:00 · 957 阅读 · 0 评论 -
Iterator
我们请了一位工程师编写了一个程序,该程序只需将图书馆A的所有书籍录入然后打印出所有书籍的信息。同时我们还请了另外一位工程师编写相同的程序,不同的是他需要将图书馆B的书籍录入然后打印出书籍的信息。对于两位工程师,我们给了一个相同的数据结构: #define DEFAULT原创 2006-10-03 22:31:00 · 978 阅读 · 2 评论