<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Martin Fowler's Bliki 中文版]]></title><description><![CDATA[记录Martin Fowler关于软件开发想法片断的blog与wiki的交叉体]]></description><link>https://blog.youkuaiyun.com/mfowler</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; mfowler]]></copyright><item><title><![CDATA[最小接口]]></title><link>https://blog.youkuaiyun.com/mfowler/article/details/1340364</link><guid>https://blog.youkuaiyun.com/mfowler/article/details/1340364</guid><author>mfowler</author><pubDate>Thu, 19 Oct 2006 08:03:00 +0800</pubDate><description><![CDATA[原文：MinimalInterface    设计                Bliki 索引所谓最小接口，其设计风格与人本接口形成鲜明对照，它背后的主旨是设计一套API不仅能满足用户完成所有操作的需求，还要把这种能力积聚到一个最精简的方法集合上。（两者的区别请参考人本接口里的例子。）拿人本接口里的例子“Ruby-Array VS Java-List”来说，既然List已经有了取索引位置处元素]]></description><category></category></item><item><title><![CDATA[人本接口]]></title><link>https://blog.youkuaiyun.com/mfowler/article/details/1340358</link><guid>https://blog.youkuaiyun.com/mfowler/article/details/1340358</guid><author>mfowler</author><pubDate>Thu, 19 Oct 2006 07:57:00 +0800</pubDate><description><![CDATA[原文：HumaneInterface    设计        2005年12月5日                Bliki 索引(更新频繁，见文尾增添的链接。)在Ruby用户群中混迹了一段时日，我经常见到“人本接口”这个术语。“人本接口”体现了Ruby大虾们设计class接口时的态度，此外，我觉得它还与另一个学派（最小接口）在设计API的思路上形成了有趣的对照。人本接口的本质思想是找出人们想要]]></description><category></category></item><item><title><![CDATA[RubyPloticus]]></title><link>https://blog.youkuaiyun.com/mfowler/article/details/1254537</link><guid>https://blog.youkuaiyun.com/mfowler/article/details/1254537</guid><author>mfowler</author><pubDate>Wed, 20 Sep 2006 18:12:00 +0800</pubDate><description><![CDATA[原文：RubyPloticus    ruby        2006年6月19日                Bliki 索引译注：代码和生成的图片示例可从这里下载。在最近的帖子“评估Ruby”中，我提到一位同事曾在一个Web应用中加入了一些漂亮的数据图表，有人email问我是怎样实现的，我在原来那篇帖子上添了句简短的回答：用Ploticus。这就带来另一个问题——他是怎样把Ruby和Plot]]></description><category></category></item><item><title><![CDATA[让版本管理遍地开花]]></title><link>https://blog.youkuaiyun.com/mfowler/article/details/1222046</link><guid>https://blog.youkuaiyun.com/mfowler/article/details/1222046</guid><author>mfowler</author><pubDate>Thu, 14 Sep 2006 12:33:00 +0800</pubDate><description><![CDATA[原文：PervasiveVersioning    工具        2006年8月21日                Bliki 索引最近Apple发布了Time Machine，能让时光倒流来查看你的文件的所有修改，包括找回已删除的文件。对我们这些狂热的极客（geek）来说，这并不是什么新玩意。和别人一样，我把整个工作目录都放到版本工具的管理下，开始用的是CVS，现在用Subversion]]></description><category></category></item><item><title><![CDATA[多台桌面电脑]]></title><link>https://blog.youkuaiyun.com/mfowler/article/details/1214386</link><guid>https://blog.youkuaiyun.com/mfowler/article/details/1214386</guid><author>mfowler</author><pubDate>Tue, 12 Sep 2006 20:22:00 +0800</pubDate><description><![CDATA[原文：MultipleDesktops    写作                Bliki 索引一两年前，我工作生涯的一个重要方面发生了变化，那之前我一直只在一台电脑上工作（更确切地说是只用一块硬盘），所有工作文件都保存在我的笔记本硬盘里。如果我要用另外一台桌面电脑，就通过文件共享操纵那些文件。自从去年我买了PowerBook事情就变了，现在我经常转战于三台机器：Mac PowerBook、Wi]]></description><category></category></item><item><title><![CDATA[更广泛的版本管理]]></title><link>https://blog.youkuaiyun.com/mfowler/article/details/1206875</link><guid>https://blog.youkuaiyun.com/mfowler/article/details/1206875</guid><author>mfowler</author><pubDate>Mon, 11 Sep 2006 10:33:00 +0800</pubDate><description><![CDATA[原文：MoreVersionControl    写作        2004年12月6日                Bliki 索引译注：“Version Control”一般称为“版本控制”或“版本管理”，这里统一称“版本管理”。作为版本管理工具的重度用户，我觉得它们在计算机中可以用得更广泛。目前的计算机用户中，除了软件开发者别人很少会用版本管理，但做软件的都知道它对协同工作的意义实在太重]]></description><category></category></item><item><title><![CDATA[语义diff]]></title><link>https://blog.youkuaiyun.com/mfowler/article/details/1206800</link><guid>https://blog.youkuaiyun.com/mfowler/article/details/1206800</guid><author>mfowler</author><pubDate>Mon, 11 Sep 2006 10:22:00 +0800</pubDate><description><![CDATA[原文：SemanticDiff        设计                Bliki 索引多数版本管理系统的实现仰仗着能比较出文件不同版本的变化，通常称作diff，源自Unix比较版本变化的命令。针对文本和二进制文件都有优秀的diff （以及merge）算法了，但这些diff工具的弊病是它们都非常愚钝，只会傻乎乎地对比两个版本，简单地告诉你怎么从一个版本变成另一个。如果diff有了语义，它]]></description><category></category></item><item><title><![CDATA[即席演讲]]></title><link>https://blog.youkuaiyun.com/mfowler/article/details/1188620</link><guid>https://blog.youkuaiyun.com/mfowler/article/details/1188620</guid><author>mfowler</author><pubDate>Thu, 07 Sep 2006 09:38:00 +0800</pubDate><description><![CDATA[原文：ExtemporarySpeaking    写作        2006年8月18日                Bliki 索引不久前Jon Udell把公开演讲根据其特点划分为两类：    按稿讲：先把要讲的几乎一字不漏地写出来，之后或者照着念或者把写出的东西背过。    按幻灯片讲：先做出详尽的幻灯片，跟着幻灯片讲。我多数的公开演讲是另外一类——即席演讲]]></description><category></category></item><item><title><![CDATA[翻译]]></title><link>https://blog.youkuaiyun.com/mfowler/article/details/1174830</link><guid>https://blog.youkuaiyun.com/mfowler/article/details/1174830</guid><author>mfowler</author><pubDate>Mon, 04 Sep 2006 06:52:00 +0800</pubDate><description><![CDATA[原文：Translations    写作        2006年8月1日                Bliki 索引不仅有人愿意把自己宝贵的工作时间浪费在阅读这个博客上，而且还有人愿意翻译它。我很欢迎一份中文翻译版加入，现在正在由马皓明做这件事。我被告知自己拥有广大的中国读者，我很欢迎他们来这里看我这些不甚成熟的想法。在页面边侧，可以找到多种语言翻译版本的永久链接。译者的话借这篇帖子说一下]]></description><category></category></item><item><title><![CDATA[评估Ruby]]></title><link>https://blog.youkuaiyun.com/mfowler/article/details/1161118</link><guid>https://blog.youkuaiyun.com/mfowler/article/details/1161118</guid><author>mfowler</author><pubDate>Sat, 02 Sep 2006 16:11:00 +0800</pubDate><description><![CDATA[原文：EvaluatingRuby    ruby        2006年5月10日                Bliki 索引既然你读到这篇文字，我猜你已经知道人们对Ruby这门编程语言吵得不可开交了，尤其是对Rails这个Web应用开发框架更是吵得一塌糊涂。有人说它是编程的未来，前途光明；有人说它是旁门左道，危险暗淡。我是在几年前开始用Ruby的，当时用本主义引起了我的兴趣，Ruby很快]]></description><category></category></item><item><title><![CDATA[以例为规]]></title><link>https://blog.youkuaiyun.com/mfowler/article/details/1144166</link><guid>https://blog.youkuaiyun.com/mfowler/article/details/1144166</guid><author>mfowler</author><pubDate>Wed, 30 Aug 2006 14:23:00 +0800</pubDate><description><![CDATA[原文：SpecificationByExample（译注1）    敏捷        2006年6月16日                Bliki 索引译注1：以例为规，“例”即测试涉及到的例子，这里主要是指验收测试（Acceptance Testing）；“规”即软件规格说明书，以下简称“规格”；“以例为规”即以测试涵盖的例子作为规格，后文也作“范例规格”。Cedric Beust最近的一篇]]></description><category></category></item><item><title><![CDATA[连贯接口]]></title><link>https://blog.youkuaiyun.com/mfowler/article/details/1129414</link><guid>https://blog.youkuaiyun.com/mfowler/article/details/1129414</guid><author>mfowler</author><pubDate>Mon, 28 Aug 2006 00:25:00 +0800</pubDate><description><![CDATA[原文：FluentInterface    设计        2005年12月20日                Bliki 索引译注：可结合“领域专用语言（DSL）”和“界定DSL”读本文。更新：Piers Cawley做了精彩的后续讨论。几个月前，我和Eric Evans参加了一个研讨会，他发言的主题是一种特殊风格的接口，我们决定把它命名为“连贯接口”。连贯接口的风格并不常见，但我们觉得应]]></description><category></category></item><item><title><![CDATA[Command与Query分离]]></title><link>https://blog.youkuaiyun.com/mfowler/article/details/1120724</link><guid>https://blog.youkuaiyun.com/mfowler/article/details/1120724</guid><author>mfowler</author><pubDate>Sat, 26 Aug 2006 00:30:00 +0800</pubDate><description><![CDATA[原文：CommandQuerySeparation    设计                Bliki 索引“Command与Query分离”这条术语首现于Bertrand Meyer的著作《面向对象软件构造（Object Oriented Software Construction）》，这本书是OO思想普及发展初期几本影响力最大的OO著作之一（说的是这本书的第一版，第二版也很好，不过你得先炼几]]></description><category></category></item><item><title><![CDATA[懒初始化 与 可见状态]]></title><link>https://blog.youkuaiyun.com/mfowler/article/details/1111781</link><guid>https://blog.youkuaiyun.com/mfowler/article/details/1111781</guid><author>mfowler</author><pubDate>Thu, 24 Aug 2006 12:12:00 +0800</pubDate><description><![CDATA[懒初始化原文：LazyInitialization    设计                Bliki 索引一个变量（在OO语境中常为class的一个字段）第一次存取时才被初始化，这项技术叫做懒初始化，其常规形式如下（C#）：public FooClass Foo {  get {    if (_foo = null) _foo = calculateFoo();    return _foo]]></description><category></category></item><item><title><![CDATA[Evans氏分类法]]></title><link>https://blog.youkuaiyun.com/mfowler/article/details/1108544</link><guid>https://blog.youkuaiyun.com/mfowler/article/details/1108544</guid><author>mfowler</author><pubDate>Wed, 23 Aug 2006 12:41:00 +0800</pubDate><description><![CDATA[原文：EvansClassification    设计                Bliki 索引下边是Eric Evans在他的杰作《领域驱动设计（Domain Driven Design）》中开创的一套针对Domain Objects的分类法，在你的工作中很可能会遇到这些不同分类的Domain Objects。        Entity: 在不同时刻不同表现形式下具有唯一身份标]]></description><category></category></item><item><title><![CDATA[界定DSL]]></title><link>https://blog.youkuaiyun.com/mfowler/article/details/1102100</link><guid>https://blog.youkuaiyun.com/mfowler/article/details/1102100</guid><author>mfowler</author><pubDate>Mon, 21 Aug 2006 11:47:00 +0800</pubDate><description><![CDATA[原文：DslBoundary    设计        2006年8月1日                Bliki 索引当说起"领域专用语言（Domain Specific Language / DSL）"这个话题时，一个常见的难题是"到底什么是DSL什么不是DSL"，难就难在根本没有一个精确的定义，是与不是之间存在很大的灰色地带。在我看来，界定一种语言是不是DSL关键是看它在范围和能力这两方面]]></description><category></category></item><item><title><![CDATA[领域专用语言（DSL）]]></title><link>https://blog.youkuaiyun.com/mfowler/article/details/1069927</link><guid>https://blog.youkuaiyun.com/mfowler/article/details/1069927</guid><author>mfowler</author><pubDate>Wed, 16 Aug 2006 12:50:00 +0800</pubDate><description><![CDATA[原文：DomainSpecificLanguage    设计        2004年2月13日                Bliki 索引所谓领域专用语言（domain specific language / DSL），其基本思想是“求专不求全”，不像通用目的语言那样目标范围涵盖一切软件问题，而是专门针对某一特定问题的计算机语言。几乎自计算机发明伊始，人们就开始谈论DSL使用DSL了。Un]]></description><category></category></item><item><title><![CDATA[企业级Rails]]></title><link>https://blog.youkuaiyun.com/mfowler/article/details/1061954</link><guid>https://blog.youkuaiyun.com/mfowler/article/details/1061954</guid><author>mfowler</author><pubDate>Mon, 14 Aug 2006 11:57:00 +0800</pubDate><description><![CDATA[原文：EnterpriseRails    Ruby        2006年7月11日                Bliki 索引摘要：“企业级Rails”这种说法大可视作自相矛盾，但说成“企业级Ruby”就是两回事了。核心Rails窄小集中，而Ruby世界（包括 Rails）宽广发散——持这种观点可以做到不偏废，其精髓就是小巧工具结合起来威力无穷。Rails已明确了自己的取向，留下的缺口将]]></description><category></category></item><item><title><![CDATA[后现代主义编程]]></title><link>https://blog.youkuaiyun.com/mfowler/article/details/1051401</link><guid>https://blog.youkuaiyun.com/mfowler/article/details/1051401</guid><author>mfowler</author><pubDate>Fri, 11 Aug 2006 17:30:00 +0800</pubDate><description><![CDATA[原文：PostModernProgramming    设计                Bliki 索引一种由James Noble和Robert Biddle两人提出的编程思想。其精髓如下（仅代表个人观点）：长久以来，软件开发的现代派观点认为，优秀的软件系统以统一而简单的方式由统一的组件构成（Smalltalk和Lisp就是这种思想的好例子）；而后现代主义观认为，软件是由各种各样风格迥异的东]]></description><category></category></item><item><title><![CDATA[应用式数据库 VS 集成式数据库]]></title><link>https://blog.youkuaiyun.com/mfowler/article/details/1039878</link><guid>https://blog.youkuaiyun.com/mfowler/article/details/1039878</guid><author>mfowler</author><pubDate>Wed, 09 Aug 2006 03:45:00 +0800</pubDate><description><![CDATA[应用式数据库原文：ApplicationDatabase    设计                Bliki 索引 我用“应用式数据库”这个术语来描述一个由单一应用系统控制和访问的数据库，与之对应的概念是“集成式数据库”。因为只有一个应用访问这个数据库，所以可以量体裁衣，数据库设计越能方便地满足应用的需求也就越“合身”，这使得表结构非常具体化，通常比集成式数据库的设计更简单，更容易理解。为了与其]]></description><category></category></item></channel></rss>