Martin Fowler关于MDA的见解

本文转载自http://news.csdn.net/n/20050510/21142.html

以下摘自Martin Fowler的Blog:
  
  一些人认为MDA将是软件开发上最大的变革:从对象装配到最高级的语言。其它人认为它不过是现在这些CASE工具的暮年而已。我站在后者的阵营中,但我还想多说几句。
  
  现在MDA所说的很多东西CASE工具社区在80年代就讨论过了。我认为CASE工具失败的原因有很多,但最根本的是它们没有能够提供一个一致的编程环境,允许人们以比其它方法更有效的方式构建通用的企业应用。
  
  当然,在某些工作上CASE工具是很有帮助的。例如,我更愿意使用图形化的工具来设计数据库而不是在记事本上敲SQL命令。但是,很多工作根本就没有可能或者说很难在CASE环境上实现。
  
  因此,我所怀疑的就是, MDA是否改变了这一点。UML最早是很合理的,目的就是要帮助人们表达设计的思路,我偏向于这么使用UML,UmlAsSketch(http: //martinfowler.com/bliki/UmlAsSketch.html)。但MDA需要从UML得到最终的产品,它对UML的形式化和一致性的要求要高得多。当然UML2是很多人在这方面的努力,试图保证其计算完整性(computationally complete)。但很多工作只是停留在纸面上,并没有清晰的例子或者将UML应用于哪个平台上的实际经验。即使UML具有计算完整性,也需要有效的环境来应用它,以取代其它的开发方法。作为一个同时了解双方的人,我不得不说,这样一个环境,我还没有看到。
  
  举例说吧,以行为逻辑(behavioral logic)为例,我看不出使用序列图或者活动图比使用现代语言直接写代码有什么长处。我发现,即使我必须要以更细节的方式来写代码,我也愿意,而不是选择画这些图,因为我可以执行代码并且测试它们。
  
  即使UML提供了一个高效的编程环境,也有一个推广的过程。作为一个过去的smalltalker,我明白一点:即使是最好的语言,也不一定能够成为主流。
  
  支持MDA的观点还有一些,但也都难以令人信服。
  
  1)拥有一系列OMG标准的支持,固然这是80年代的CASE工具所缺乏的,但这得看人们是不是都遵循这些标准。我很想知道到底有多少MDA的fans把UML当做了不想要的语言UnwantedModelingLanguage。
  2)MDA的支持者说到平台无关性,我在PlatformIndependentMalapropism.中已经谈到这个问题,(译者注:Martin在那篇文章中认为这是一个可笑的说法)。
  3)我听说MDA将如何通过模式的自动生成来简化开发。但我并没有看到用UML来实现这一点和借助好的库(library)和框架来实现这一点有什么区别。
  4)大部分UML的支持者都有一个基本的论断:图要好过文字。有时候这是成立的,但我没有发现有证据证明它总是成立的-比较过流程图和伪代码的人可以得到自己的结论。
  
  不管怎么说,如果我发现我的判断错了,我会非常高兴。我真的愿意看到软件开发的抽象层次再提高一层(更不要说UML的成功对我个人而言绝对是利好啊)。但我就是没有看见UML如何提高了抽象层次,而这,正是MDA成功的必要条件。
  
  有趣地是现在有一种现象:越来越多的人希望不遵循OMG的标准来实现MDA。我听的更多是借助工具实现模型驱动开发,而不是借助OMG的MDA标准族。
  
  这里还有一些其它关于MDA的富有思想的批评声音:
  
  *Steve Cook关于Microsoft's views on MDA和更多的关于MDA的谈话。Steve是UML的主要贡献者之一,也是英国OO早期的领袖之一。
  *在OOPSLA 2003会议上,"Bedarra" Dave Thomas对MDA的方方面面提出了怀疑。遗憾的是我没有当时他演讲的视频,但jot column上摘录了他的一些观点。
  
  (自 http://martinfowler.com/bliki/ModelDrivenArchitecture.html,袁峰 摘译,不得转载用于商业用途)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Martin Fowler是一位资深的软件工程师和重构领域的权威,他是《重构:改善既有代码的设计》的作者。他的这本书是现代软件开发中关于重构的经典之作,演示了如何通过重构提高代码质量和可维护性。 针对Martin Fowler重构的epub版本,我认为由于电子书可以方便地进行修改和更新,可以通过重构来改进书籍的质量和阅读体验。具体来说,以下是一些可能的重构方法和目标: 1. 改善代码结构:通过调整章节和段落的顺序,优化内容的逻辑结构,使读者能更容易地理解和消化书中的知识。 2. 优化代码风格:检查并统一使用一致的格式和命名规范,使整个电子书的风格统一、易读。 3. 提升可维护性:识别和重构书中重复的内容或主题,并将其合并或抽取为可重复使用的模块,以减少冗余并改进维护效率。 4. 增加交互性:通过添加链接、图表、代码片段等元素,提供更多参考和实例,使读者能更直观地理解和应用重构技巧。 5. 修复错误和不精确的描述:通过修复错误和澄清模糊的描述,提升书籍的准确性和可靠性。 总之,将Martin Fowler的重构书籍转换为epub格式并进行重构有助于改进读者的阅读体验,并使书籍更加易读、易懂和易用。重构不仅仅是应用于代码,它也适用于提升文档和书籍的质量,使其能够更好地满足读者的需求。 ### 回答2: Martin Fowler是软件开发领域的知名专家,他对重构方法论的贡献得到了广泛的认可和赞赏。他的著作《重构——改善既有代码的设计》是软件开发领域得一本经典之作,是指导开发人员如何改进既有代码质量的重要参考资料。今年,Martin Fowler将他的《重构》一书发布为epub格式,这将为读者提供更方便的阅读方式,并且可以在不同的电子阅读设备上进行阅读。 这本epub版的《重构》将保留原书中的核心理论和实践原则,同时结合电子书的优势,添加了更好的排版和导航功能。读者在使用电子阅读设备阅读时,可以根据自己的喜好调整字体大小和样式,从而提升阅读的舒适度。此外,epub版还可以自动调整页面布局,适应不同尺寸的屏幕,使得阅读体验更加便捷。 另外,这个epub版的《重构》还将添加更多的交互和导航功能。比如,读者可以通过目录快速跳转到感兴趣的章节或小节,也可以在书中进行全文搜索,方便查找相关内容。书中还将包含丰富的示例和案例,以帮助读者更好地理解重构的概念和应用。 总之,Martin Fowler发布的epub版《重构》将为读者提供更加便利和丰富的阅读体验。不仅可以随时随地地进行阅读,同时还可以利用其交互和导航功能更好地学习和实践重构方法。无论是软件开发人员还是对软件设计感兴趣的读者,这本epub版的《重构》都将成为他们不可或缺的学习资料。 ### 回答3: 马丁·福勒(Martin Fowler)是一位知名的软件开发专家和架构师,他是《重构》这本经典著作的作者之一。他在书中详细介绍了软件开发中的重构概念和技术,并为开发人员提供了一套实用的方法和技巧,使得他们能够改善现有代码的质量和可维护性。 重构是指在不改变现有功能的情况下,通过修改代码的内部结构和设计来提高代码的质量和可读性。福勒提出了一系列的重构方法,包括提取方法、内联方法、重命名变量等等。他强调通过频繁的重构来保持代码的整洁和可维护性,从而降低开发过程中的风险和成本。这些重构方法在业界得到广泛的应用,并被视为提高代码质量的重要工具。 福勒选择将《重构》这本书制作成EPUB格式,使得读者可以在电子设备上方便地阅读。EPUB是一种常见的电子出版格式,可以自适应不同设备的屏幕大小,并支持字体、图像和布局等多种自定义设置。这使得读者可以根据自己的喜好和需求来调整阅读体验,提高学习效果。 通过将《重构》制作成EPUB格式,福勒希望更多的开发人员和软件架构师能够方便地获取这本信息丰富的书籍。EPUB格式的优点在于其便携性和可定制性,读者可以随时随地地学习和实践重构技术。这对于推动软件行业的技术进步和质量提升有着积极的影响。 总的来说,福勒将《重构》制作成EPUB格式是为了更好地传播重构的理念和方法。这种格式的选择使得读者能够更便捷地学习和应用重构技术,提高软件开发的效率和质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值