Software Design
soulxu
Linux developer, Open-source developer, and IBMer
展开
-
Template Method模式与Strategy模式
<br /> <!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } A:link { so-language: zxx } --> <br /><br /> 在面向对象系统的分析与设计过程中经常会遇到这样一种情况:对于某一个业务逻辑(算法实现)在不同的对象中有不同的细节实现,但是逻辑(算法)的框架(或通用的应用算法)是相同的。Template Method提供了这种情况的一个实现框架。 <原创 2011-01-27 11:53:00 · 787 阅读 · 0 评论 -
API设计新思维:用流畅接口构造内部DSL
程序设计语言的抽象机制包含了两个最基本的方面:一是语言关注的基本元素/语义;另一个是从基本元素/语义到复合元素/语义的构造规则。在C、C++、Java、C#、Python等通用语言中,语言的基本元素/语义往往离问题域较远,通过API库的形式进行层层抽象是降低问题难度最常用的方法。比如,在C语言中最常见的方式是提供函数库来封装复杂逻辑,方便外部调用。 不过普通的API设计方法存在一种天然的陷阱转载 2011-11-01 10:24:05 · 773 阅读 · 0 评论