Martin Fowler : The cost of flexibility is complexity.
Martin Fowler :灵活性的代价就是复杂性。
Martin Fowler wrote the definitive article on Dependency Injection in 2003.
Martin Fowler在2003年写了一篇关于依赖注入的权威文章。
Martin Fowler: I think thinking in terms of interfaces is very fundamental.
Martin Fowler:我想,从接口这个角度去考虑是非常基本的。
Martin Fowler sets the stage for problems that face any multi-business-unit SOA infrastructure.
Martin Fowler设置了一个任何多业务单元SOA基础设施都可能遇到问题的场景。
Martin Fowler : It is a curious thing.
马丁:这是很有意思的一件事。
Martin Fowler: It takes a longer time.
马丁:这种情况需要较长的时间。
Martin Fowler: Refactoring improves the design.
马丁:重构改善了设计。
Martin Fowler: I distinguish between planned and evolutionary design.
马丁:我将设计区分为计划型设计和进化型设计。
Martin Fowler: the way I look at it, there are three styles of code ownership.
马丁:我把代码所有权分为三类。
Martin Fowler: I think there's still room for some upfront design, but not a lot.
马丁:我认为一些地方还是可以用到预先设计,不过不会很多。
Martin Fowler : Ask yourself which bits of the program would you be scared to change?
这个要问你自己,程序中哪部分是你不希望发生变化的?
Martin Fowler: The current name in XP circles for functional tests is acceptance tests.
在极限编程圈内,现在把功能测试称为验收测试(acceptance test)。
Martin Fowler: I wrote that about aesthetics in discussing when you apply refactorings.
马丁:嗯,在讨论何时应用重构时,我的确是这样谈论美学的。
Martin Fowler: But then I argue that if you've got a team, why publish interfaces internally?
马丁:那么让我来问你,假如你有一个团队,为什么要在团队内部发布接口呢?
Martin Fowler: I'll reap the time back within a day, because I spend so much less time debugging.
马丁:我能在一天之内就把时间补回来,因为花在跟踪调试上的时间大大减少了。
Martin Fowler : Right. They're similar, but I think sufficiently different to warrant different names.
马丁:对。它们有相似之处。不过,我一般还是把它们看成是两个很不一样的概念。
Martin Fowler describes it as: Putting all presentation state and behavior for a window in a single class.
Martin Fowler的回答是:将一个窗口所有的表现状态和行为都放在一个类里。
Martin Fowler defines domain model as an object model of the domain that incorporates both behavior and data.
Martin Fowler将领域模型定义为包括行为和数据的领域的对象模型。
Martin Fowler has written about four quadrants of technical debt (see Resources), as illustrated in Figure 1.
Martin Fowler已经编写了技术债务的4个象限(见参考资料),如图1所示。
Martin Fowler: No, but the problem is that in order to get code that's reusable you need to make it very flexible.
Martin Fowler:不,不是的。但问题是,为了使代码可重用,你必须使它灵活。
Over the last decade, Martin Fowler pioneered many software development techniques in the development of business information systems.
在过去十年中,马丁·福勒在商业化信息系统开发领域倡导了许多新的软件开发技术。
Martin Fowler: Because every other book on object-oriented design might say somewhere in the book, "Oh yeah, interfaces are important."
Martin Fowler:其它关于面向对象设计的书也许会在某处这样说道:“啊,接口实在是太重要了。”
Martin Fowler: Refactoring is making changes to a body of code in order to improve its internal structure, without changing its external behavior.
马丁:重构就是对代码本身做修改,以改善它的内部结构,但又不改变它的外部表现。
Martin Fowler: That itself indicates the 11-page while loop's bad design, because if you're afraid to change something it is clearly poorly designed.
马丁:这恰恰从另一个侧面说明了这个长达11页的循环是个糟糕的设计。如果你对改动某处代码心存顾虑的话,那它显然是一个蹩脚的设计。
Martin Fowler: No a dictionary isn't as explicit, but if you add a field to the class and pump an extra value into the dictionary, it doesn't matter.
Martin Fowler:的确,字典不是“明确的”。不过,如果你往类里添加一个字段,并把这个多出来的值放到字典里的话,不会有什么问题。
Martin Fowler: No a dictionary isn't as explicit, but if you add a field to the class and pump an extra value into the dictionary, it doesn't matter.
Martin Fowler:的确,字典不是“明确的”。不过,如果你往类里添加一个字段,并把这个多出来的值放到字典里的话,不会有什么问题。
应用推荐