类似于NakedObjects的系统
Systems Similar to NakedObjects?
不久前,我读了一本关于裸体物体的书,对这些想法感到兴奋。只写我的核心业务逻辑并自动生成UI?给我注册!
此外,潜力还不止于此。这可能是领域建模中的一个很好的工具。有了直接调用对象的能力,鼓励人们直接使用自己的域对象,从而可以发现。。。
- 缺陷
- 有用的交互模式(对于UI实现,如果用户认为UI基本上是"为域对象编写脚本",则尤其相关)
- 新功能
为此,我对任何类似于裸体物体的系统都感兴趣。我做了一些辅助工作,比如在"直接操纵UI"之类的字符串下搜索命中率,但没有发现任何有用的东西。
你知道有类似的工作吗?我更喜欢PHP或JavaScript,这并不意味着我运行的是Linux。我知道NakedPHP和Spiro(找不到相关文档),但它们基本上都是PHP和javascript的Naked Object实现。
你知道其他系统吗?
作为《裸对象》一书的合著者,我想添加我的视图。
人们确实喜欢裸对象模式的概念,但不喜欢特定的UI,这并不罕见。你没有说多久以前你看了这个实现,或者说是哪一个。两个主要的开源实现(还有其他一些,但不太成熟)是:
- 裸对象框架,适用于.NET平台
- Apache Isis,用于Java平台
两者都有不止一个UI。但是,让我们假设您已经查看了所有默认UI,并且对其中任何一个都不满意。首先,大多数在企业环境中使用这两种框架的人最终都会大量定制默认UI,无论是只使用.css,还是使用额外的JavaScript,但仍然坚持动态创建的"通用"UI的概念。
最近,Dan Haywood和我进一步提出了裸对象模式,引入了Restful Object规范——一种适用于任何富域模型的超纯REST API。这两个裸对象实现现在都实现了Restful对象规范。这方面的要点是,使用RO API,现在可以相对容易地设计新的、完全不同的UI(通用的或完全定制的),这些UI与RO的服务器实现进行对话。换句话说,创建自己的裸对象概念的客户端实现相对容易,重新使用两个主要的服务器端实现中的任何一个。
您提到的Spiro是我们第一次尝试使用JavaScript(实际上是TypeScript)和Angular.js创建用于创建这样一个UI的构建块库。使用RO规范的酷之处在于,您可以针对任何服务器实现运行相同的客户端。我建议你好好看一看。
我偶然发现了一些其他可能的关键术语,并发现了一些,尽管并非所有术语都在javascript中。
这些似乎更适合。。。
- Metawidget
- OpenXava
- JMatter
Metawidget特别有趣。它支持javascript,并且易于使用。你只需向它提供你的域模型(JSON对象),它就可以为它生成一个UI。此外,它不会接管你的页面,所以它可以生活在预先存在的UI中,并且允许UI自定义。
它们还包括一个与类似产品的比较页面。
另一个有趣的是BlueJ;这是一个基于裸体物体的教育平台,但可以用于较小的项目。基本上,您可以通过上下文菜单以图形方式创建类的实例,然后可以通过相同的方式检查和调用生成的对象方法(可能在过程中创建更多对象)。
更进一步地说,对于任何UI自动生成,都有与数据库绑定的CRUD可视化工具。
- Scito
- SQLMaestro
- Xataface
- groceryCrud
我仍在研究这些,尤其是对象,并对其他建议持开放态度。
- 数据绑定:'系统Char'不包含名为'xxxxx'
- Javascript模块系统I'I’我正在努力,但搞不明白
- 是否可以在系统/电脑浏览器中访问手机摄像头
- Node JS中的排名系统算法
- 任何将(SSH)终端嵌入到一些HTML5表示系统中的想法(例如,show.js)
- 如何在foreach循环中对每个产品单独应用评级系统
- Javascript-修复搜索系统
- 是否有任何设置阻止JavaScript在系统上工作
- 如何组织用户系统的Mongo集合
- 数字文件命名系统
- 如何对单个页面进行密码保护(这不是身份验证系统的一部分)
- 动态代码中存在系统应用程序地址错误
- 从自己的安全系统中重新找回自己
- 难以置信的简单密码系统不工作
- 在chrome.runtime消息系统中使用promise
- 当地址栏出现时,安卓系统上的css固定页脚被隐藏
- 如何使荷兰拍卖系统的价格每秒钟都在下降
- 如何获取node.js系统CLI应用程序的位置
- SoundCloud API-基于系统中的ID创建用户配置文件
- 类似于NakedObjects的系统