我不知道';我不喜欢MDD,但喜欢UML——如果我认为MDD是无用的,为什么要使用它呢?
我是一名java软件开发人员/架构师,喜欢UML 说我也讨厌java生成的代码 我没有看到任何值试图生成我的应用程序的框架:我不知道';我不喜欢MDD,但喜欢UML——如果我认为MDD是无用的,为什么要使用它呢?,uml,mdd,Uml,Mdd,我是一名java软件开发人员/架构师,喜欢UML 说我也讨厌java生成的代码 我没有看到任何值试图生成我的应用程序的框架: 创建空类非常容易,我不需要工具来实现这一点 此外,我不能重用生成的代码,因为生成代码的方式使其无法重用 我面临的困境是,我的需求变化如此之快,以至于我需要能够将新需求立即实现到现有代码中 我的问题是,如果我从模型生成代码,然后在生成的代码库中手动开发,我就无法使用模型再次生成代码,因为我的修改将被删除 除非我来回复制/粘贴更改。这是一个巨大的努力,结果太少。因此,我不
- 创建空类非常容易,我不需要工具来实现这一点
- 此外,我不能重用生成的代码,因为生成代码的方式使其无法重用
- 为什么要改变一个运行良好且行之有效的系统李>
- 为什么系统地从模型生成代码,而我可以直接在代码中生成代码,然后将其与模型合并
- 为什么要生成甚至不能部署的垃圾数据库代码,而我可以添加原型以获得java注释并将其与hibernate一起使用来生成我的数据库
- 使用大型稳定公司的产品李>
- 有一个完整的模型,可以在任何其他语言部署
(这就是为什么MDD对我来说是愚蠢的,因为它不可能仅仅从一个模型部署到任何平台、任何服务器、任何数据库。那么为什么要浪费我的时间呢?)
请给我一些论点,以便在下次会议上回来,让这个愚蠢的新MDD粉丝崩溃,他想重新组织我们今天的工作方式 使用MDD,对设计进行更改有望变得更便宜:如果需求发生变化,在您的方法中,您必须更新基于UML的文档和代码。现在,如果代码可以自动生成,那么对代码的更改应该自动跟随对模型的更改,并且您不必手动执行(至少在不添加新内容或不需要更改业务逻辑的地方) 假设MDD可以工作(是的,对;),您能证明维护模型(文档和设计)和代码的双重成本是合理的吗
对你有利的一个论点可能是,如果项目不是太大(不管这意味着什么),那么不值得承担所有的开销。我认为你的帖子中有答案 MDD遇到了两个基本问题:
hth.如果无法控制生成,则可能使用了错误的工具 生成的内容(骨架或特定于框架的代码)也取决于工具。使用允许您创建自己的模板的工具 认为往返工程将永远起作用是错误的。您不能将不太详细的模型转换为更详细的代码,然后再转换回来而不丢失信息。解决这一问题的一种方法是在模型中使用与代码中相同级别的细节,这不是一件好事 更好的方法是从模型中使用单向生成,并结合一些良好的实践来组合生成的代码和手动编写的代码 您可以对手动编写的代码使用保护区域:
- 您可以在模板中指定位置,例如方法体,在重新生成时不应覆盖这些位置
- 您可以使用具体类的骨架生成抽象类和代码,这些都是由您自己完成的