你现在在做MDA(模型驱动架构)吗?如果是这样,您使用什么工具,效果如何?

2024-04-30

模型驱动架构是这样一种想法:您创建模型,以一种不依赖任何(或至少大多数)实现技术的方式表达您需要解决的问题,然后为一个或多个特定平台生成实现。人们声称,在更高的抽象级别上工作更加强大和高效。此外,您的模型比技术更长寿(因此,当您的第一语言/平台过时时,您仍然可以将某些东西用于下一代解决方案)。声称的另一个关键好处是可以生成大部分样板文件和“繁重的工作”。一旦计算机理解了你所处情况的语义,它就能为你提供更多帮助。

有人声称这种方法的效率提高了 10 倍,而且the way十年后我们都会构建软件。

然而,这一切都只是理论。我想知道当橡胶遇到道路时会产生什么结果。另外,MDA 的“官方”版本来自OMG http://omg.org,而且看起来很重。它在很大程度上基于 UML,这可能被认为是好还是坏取决于你问的是谁(我倾向于“坏”)。

但是,尽管存在这些担忧,但很难否认在更高的抽象级别上工作并“教导”计算机理解问题和解决方案的语义的想法。想象一系列简单地表达事实的 ER 模型,然后想象使用这些模型来生成解决方案的重要部分,首先在一组技术中,然后再次在另一组技术中。

So, 我很想听听现在真正在做 MDA 的人(“官方”或非“官方”)的意见。您使用什么工具?效果如何?您已经实现了多少理论上的承诺?您是否看到真正的 10 倍效率提升?


对这个问题缺乏回应有点不祥……也许我会让Dijkstra http://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD898.html字段它。

...因为计算机在十年内出现 当对进步的信心和 科学的健康性和 技术几乎是无限的,它 考虑到 人类最初的目标 例如,科学努力 过去五个世纪是 惊人的失败。

大家都记得,第一个和 首要目标是发展 的长生不老药,会给一个人 喝了它永葆青春。但是由于 永恒没有多大意义 贫困,科学世界快 开始了第二个项目,即。 贤者之石 让您赚取尽可能多的黄金 需要。

...

追求理想的编程 语言和理想的人机 使该软件的界面 危机像阳光下的雪一样融化了 ——现在仍然如此!——所有的 搜索的特点 长生不老药和石头。这个搜索 得到两人的大力支持 双方,首先从以下事实来看 创造奇迹是最起码的 你可以从计算机中期待, 其次是从财务和 来自社会的政治支持 一直在寻求长生不老药 首先是石头。

两个主要流可以 杰出的,对石头的追求 以及对长生不老药的追求。

对石头的追求是基于 假设我们的“编程 工具”太弱了。一个例子是 相信当前的编程 语言缺乏我们需要的“功能”。 PL/I 是最壮观的之一 生产出可能的石头。我仍然 还记得广告中的 Datamation,1968,其中一个微笑 苏西·梅耶尔 (Susie Mayer) 全彩宣布 她已经解决了她所有的问题 通过切换到编程问题 PL/I。这太可预见了 几年后,可怜的苏西 梅耶尔不会再微笑了。不必要 可以说,探索仍在继续并在适当的时候 下一块可能成为石头的时间 以Ada的形式产生(后面 铁幕被感知地提及 为 PL/II)。即使是最基本的 占星学对于初学者来说就足够了 预测艾达不会是最后一个 这种类型的石头。

...

另一系列的石头形式 “编程工具”的诞生 在“软件”的旗帜下 工程”,随着时间的推移, 试图取代智力 管理纪律 它现在已被接受的程度 它的章程“如果你 不能。”

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

你现在在做MDA(模型驱动架构)吗?如果是这样,您使用什么工具,效果如何? 的相关文章

  • Appengine 网站的架构指南?

    我使用 PHP 创建了难以维护的网站 因为它很容易做一些又快又脏的事情 我不想在 Google 的 appengine 上使用 Python Django 做同样的事情 使用 Django 和 appengine 创建网站有什么好的架构参考
  • Android应用程序架构——MVVM还是MVC?

    我有一个正在开始处理的 android 项目 我希望它的结构尽可能健壮 我有 WPF MVVM 背景 并且阅读了一些有关 Android 应用程序架构的内容 但我找不到关于我应该使用哪种架构的直接明确的答案 有些人建议使用 MVVM htt
  • 异常与临时类型。什么情况下容易摔倒?

    我在从事 MVC 3 项目时正在阅读一本企业应用程序开发的书 我目前正在决定如何处理异常 以前我会让异常在堆栈中冒泡 然后在最高层处理它 这本书建议在域模型中创建一个临时类并返回它 例如 public sealed class Missin
  • 关于转向多层 Delphi 架构的建议

    我们有一个与 Firebird 紧密相关的相对较大的应用程序 存储过程 视图等 我们现在收到很多支持其他数据库的请求 我们还希望将很多功能从客户端转移到服务器 现在似乎是迁移到 3 4 层架构的好时机 我们已经了解了 DataSnap 20
  • python如何表示这么大的整数?

    在C C 和Java中 整数有一定的范围 我在 Python 中意识到的一件事是我可以计算非常大的整数 例如pow 2 100 相同的等效代码 在 C 语言中 pow 2 100 显然会导致溢出 因为在 32 位体系结构中 无符号整数类型的
  • 在 MVC 中拥有巨大的控制器或许多控制器更好?

    我们正在 ASP NET MVC 中构建一个相当大的 HR 应用程序 到目前为止 我们的控制器变得相当大 例如 我们有一个员工控制器 并且包含所有员工视图 个人信息 员工扣除额 家属等 每个视图都可能有多个操作或子视图 例如 CRUD 每个
  • 什么是自以为是的软件?

    Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 我经常看到人们说某些软件 非常固执己见 或者微软倾向于编写 不固执己见 的框架 这实际上意味着
  • 在事务结束时发送事件

    我有一个服务对象的接口 如下所示 为简洁起见进行了简化 public interface ItemService public Item getItemById String itemId int version public void c
  • 用于云服务“沙盒”的 SecurityManager

    All 我正在设计一个基于云的服务 该服务将提供执行客户提交的一些 插件 代码的选项 为了使这项工作正常进行 插件不能威胁系统完整性或有能力访问其他客户端的数据 这一点至关重要 理想情况下 我希望客户端能够提交一个简单的 jar 文件 包含
  • MVP 和 GWT 小部件之间的通信

    如果我将 MVP 模式与 GWT 结合使用 如 2009 年 Google I O 中的 GWT 架构最佳实践讨论 但已将信息分散到多个小部件中 那么应该如何填充值对象 假设我有一个 EditPersonView Presenter 一个
  • 使用 i386 arch 而不是 x86_64 在 OSX 上构建 libFLAC

    我正在尝试构建 libFLAC 以在我的项目中使用 但是当涉及到链接时 GCC 会忽略该库 因为它说它不是为当前体系结构 i386 构建的 当我以 64 位编译程序时 它正确链接了库 这意味着该库是针对 x86 64 架构编译的 不幸的是
  • 插件架构中的反射与属性

    我正在开发一个在启动时从子目录加载插件的应用程序 目前我正在通过使用反射来迭代每个程序集的类型并查找实现 IPluginModule 接口的公共类来实现此目的 由于反射涉及性能影响 并且我预计一段时间后会有多个插件 我想知道定义在程序集级别
  • 如何在无 null 设计中实现 List、Set 和 Map?

    当您在大多数情况下可以返回 null 空对象以避免 null 时 这很好 但是像 Collection 这样的对象呢 在爪哇 Map回报null if key in get key 地图上没有找到 我能想到的最好的避免方法null在这种情况
  • SOA架构数据访问

    在我的 SOA 架构中 我有几个世界碳基金服务 我的所有服务都需要访问数据库 我应该创建一个专门的 WCF 服务来负责所有数据库访问吗 或者 如果我的每个服务都有自己的数据库访问权限 可以吗 在一个版本中 我在一项服务中只实例化了一个实体层
  • WPF 和 WCF 应用程序的用户身份验证/授权的“最佳实践”是什么?

    假设我有一个 NET 富客户端 WPF 应用程序 它将同时部署在 3 个不同的场景中 客户端和服务器代码在单个进程中运行 客户端代码在 Intranet 计算机上运行 并通过 WCF 与运行应用程序 域 基础设施代码的服务器计算机进行通信
  • 使用 LINQ to SQL 的 .NET 架构的最佳设计实践(DAL 必要吗?我们真的可以使用 POCO吗?要采用的设计模式吗?)

    我避免在 net arch n 层架构上编写看起来像是另一个线程的内容 但请耐心等待 希望我和其他人一样 在选择用于企业应用程序的架构时 考虑到当今的趋势和新兴技术 仍然没有 100 满意或不清楚应采取的最佳方法 我想我正在寻求大众社区对方
  • linq2sql,存储库模式 - 如何从两个或多个表查询数据?

    我使用存储库模式 和 linq2sql 作为数据访问 并拥有例如 ProductsRep 和 CustomersRep 在非常简单的场景中 数据库有两个表 产品 产品 ID 客户 ID 产品名称 日期 和顾客 客户 ID 名字 姓氏 每个存
  • 从架构上来说,我应该如何用更易于管理的内容替换非常大的 switch 语句?

    EDIT 1 忘记添加嵌套属性曲线球 UPDATE 我选择了 mtazva 的答案 因为这是我的具体案例的首选解决方案 回想起来 我用一个非常具体的例子提出了一个一般性问题 我相信这最终让每个人 或者也许只是我 对问题到底是什么感到困惑 我
  • 简单的注入器和内部构造函数

    我正在开发一个小型类库 并为我的 DI 使用简单注入器 类库有一个访问点 我猜是某种服务 它是public它有一些internal服务和存储库 我看到 Simple Injector 不支持使用内部构造函数进行构造函数注入 例如 我的产品服
  • JavaFX 中的 MVC 模式与场景生成器

    我是 JavaFX 新手 根据我当前的设置 正在努力创建合适的 MVC 架构 我使用 Scene Builder 单击了一个 UI 并指定了一个 Controller 类 Startup public class Portal extend

随机推荐

  • 如何从 3 位整数中提取单个数字? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这不是家庭作业问题 我只是好奇 如果我有一个计算 3 位数字的程序 比如 123 我怎样才能得到 1 我试图在最后打印一条消息 上面写着
  • 顺序执行批处理文件

    dim shell x y x D d y c bat x set shell createobject wscript shell shell run y shell run a bat set shell nothing 当我运行此脚本
  • 在VS2008中,对于网站的FTP发布,有没有办法保存FTP登录密码?

    我喜欢 Visual Studio 2008 IDE 集成 非命令行 功能 可以选择通过 FTP 将 ASP NET 网站发布到我的网络服务器 我可以存储我的 FTP 用户名 但没有看到任何存储我的 FTP 密码的选项 因此我每次发布时都必
  • 如何在 Discord.js v13 中删除斜线命令

    const glob require glob const promisify require util const Client require discord js const mongoose require mongoose con
  • 如何从 C# 解析/简单分析 C/C++ 代码以获取方法列表

    我需要浏览 C C 文件并提取类和方法的列表以及它们在文件中的位置 libclang 是最好的选择吗 或者对于这项任务来说 太多了 只寻找配对支架会更好吗 如果选择 libclang 有没有办法从 c 调用它 Thanks 你可以考虑cta
  • sqlalchemy,混合属性 case 语句

    这是我试图通过 sqlalchemy 生成的查询 SELECT order id AS id order created at AS created at order updated at AS updated at CASE WHEN b
  • 在非 SSIS 服务器上运行 SSIS 包时出现错误[重复]

    这个问题在这里已经有答案了 我正在 SSDT 2012 中工作 我创建了一个 DTSX 包 并将其部署到未安装 SSIS 的 SQL Server 我的理解是这应该有效 但是我不断收到以下错误 要在 SQL Server Data Tool
  • 安卓。如何在按钮正上方显示弹出窗口

    我需要在按钮上方直接显示弹出窗口 我的按钮放置在滚动视图内 弹出窗口始终显示在按钮下方 这是我的代码 private void showPopup View view String text if infoPopup null Layout
  • 识别推文消息中正确的主题标签索引

    我需要识别 Twitter 消息 各种语言 表情符号等 中的正确索引 我找不到返回这些位置的解决方案 如下例所示 import regexp testing github com stretchr testify require func
  • 有没有办法从 IO monad 中解开类型?

    我有这个非常简单的功能 import qualified Data ByteString Lazy as B getJson IO B ByteString getJson B readFile jsonFile readJFile IO
  • 发送文件路径后上传模式不会关闭

    我正在尝试上传文件 确实如此 但是上传屏幕保持打开状态 因此我无法在半个屏幕上查看 有人知道解决方法吗 我使用的代码 var path require path the file to upload var fileToUpload som
  • 自定义 UITableviewcell 高度未正确设置

    我探索了关于这个问题的现有问答 但没有找到我的答案 我知道这是由 tableview 在运行时不知道自定义单元格的高度引起的 但不知道如何克服这个问题 这是 iOS 8 Xcode 6 我为自定义单元格的内在大小执行了所有自动布局所需的方法
  • requestPermissions 未在设备上显示权限对话框,在 Android studio 模拟器上运行良好

    活动的 requestPermissions 方法面临奇怪的问题 现在显示我是否在设备上进行调试 如果我在 Android studio 模拟器上调试应用程序 效果很好 下面是请求权限的代码 public boolean isStorage
  • 如何将文件从 ReactJS 上传到 Express 端点

    在我当前正在开发的应用程序中 有几个文件表单是通过以下方式提交的superagent到 Express API 端点 例如 图像数据的发布方式如下 handleSubmit function evt var imageData new Fo
  • 有没有办法防止 Tomcat 在加载的 JNI 库损坏内存时崩溃?

    我们有一个在 Tomcat 7 上运行的 Web 应用程序 它加载一个用 C 编码且由第三方开发的 JNI 库模块 基本上 这个库为我们的网络应用程序提供生物识别技术 我们不能为此使用全 java 解决方案 除了使用 JNI 库模块之外别无
  • 具有 StateT[IO, _, _] 的 FS2 Stream,定期转储状态

    我有一个消耗无限数据流的程序 在此过程中 我想记录一些指标 这些指标形成一个幺半群 因为它们只是简单的求和和平均值 我想定期在某处写下这些指标 清除它们 然后返回累积它们 我基本上有 object Foo type MetricsIO A
  • 使用线程反转字符串

    最近 在一次面试中 我被要求使用线程实现一个字符串反转功能 我想出了下面解决方案的大部分内容 被选中与否是另一回事 我尝试在运行 Windows 8 Consumer Preview 的家用电脑上运行以下解决方案 编译器是VC11 Beta
  • 智能指针的三法则?

    我对将 三法则 与智能指针一起使用感到有点困惑 如果我有一个类 其唯一的数据成员是智能指针 我是否需要显式定义析构函数 复制构造函数和赋值运算符 我的理解是 由于智能指针将自动处理资源 所以我不需要显式定义析构函数 因此我不需要根据三规则为
  • 使用 .NET Core 操作图像

    我已将我的项目从 NET 4 5 更新到 NET Core 使用 ASP NET Core 我在以前的版本中有一些非常简单的代码 使用了位图对象System Drawing调整图像大小 我认为System Drawing不能在 NET Co
  • 你现在在做MDA(模型驱动架构)吗?如果是这样,您使用什么工具,效果如何?

    模型驱动架构是这样一种想法 您创建模型 以一种不依赖任何 或至少大多数 实现技术的方式表达您需要解决的问题 然后为一个或多个特定平台生成实现 人们声称 在更高的抽象级别上工作更加强大和高效 此外 您的模型比技术更长寿 因此 当您的第一语言