Delphi 是否有任何框架/库接近 Bold/Eco 提供的功能?

发布于 2024-09-12 20:48:10 字数 132 浏览 12 评论 0原文

不确定在 Borland/Codegear/Embarcadero 过渡期间 Bold/Eco 发生了什么,但我确实很怀念新版本的 Delphi 中的它。有人知道有一个接近的框架吗?

如果没有,也许您可​​以建议接近的库和组件的组合。

Not sure what happened to Bold/Eco during the Borland/Codegear/Embarcadero transition but I sure miss it in the newer versions of Delphi. Anyone know of a framework that comes close?

If not, maybe you could suggest a combination of libraries and components that comes close.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

撞了怀 2024-09-19 20:48:10

hcOPF 似乎是 Delphi win32 唯一真正的 ORM,但它还没有接近。

对于 UML 建模等 Delphi win32(或 C#),我推荐 Model Maker

这两个工具都支持 Delphi 2010。

——杰罗恩

hcOPF seems to be the only real ORM for Delphi win32, but it does not yet come close.

For UML modelling and such for Delphi win32(or C#), I recommend Model Maker.

Both tools have Delphi 2010 support.

--jeroen

心作怪 2024-09-19 20:48:10

替代方案是 list Delphi win32 的 OPF(每个都有简短的描述)。

我只在 Delphi 中使用过 Bold(现在仍然如此),但我不认为任何替代方案在功能集中都可以接近。我认为这是关键,哪些功能对您来说很重要?
如果您不需要 Bold 提供的所有内容,也许您可​​以选择其中一种替代方案。

或者,您仍然可以使用 Bold,最新版本是 Bold for Delphi 2006 并希望 Embarcadero 最终将其开源,或者继续开发。
用户一直面临着使用 Bold 做某事的压力,但 Embarcadero 似乎能够很好地应对压力。

The alternatives are list of OPFs for Delphi win32 (with a short description for each one).

I have only ever used Bold for Delphi (and still do) but I don't think any of the alternatives come even close in the feature set. And that I suppose is the key, which features are important to you ?
If you don't need everything Bold provides maybe you can settle on one of the alternatives.

Alternatively, you can still use Bold, the latest release is Bold for Delphi 2006 and hope that Embarcadero eventually open sources it, or continues development.
There is a constant user pressure to do something with Bold, but Embarcadero seems to handle pressure well.

陈独秀 2024-09-19 20:48:10

开始编辑/更新:

自从这个答案发布以来,框架得到了很大的增强,特别是提供了实现真正领域驱动设计所需的所有功能:

  • 数据库不可知论(不是仅限 SQLite3,但任何数据库,包括 MS SQL 或 Oracle)的 ORM(甚至使用 Delphi Starter 版本);
  • 基于接口的服务,类似于WCF
  • 非常快的http.sys事件驱动的HTTP服务器,在内核模式下运行;
  • 准备好与 AJAX 客户端合作;
  • 许多改进和修复;
  • 它现在称为 Synopse mORMot 框架

具有 Delphi 的所有优点,即小而快速的可执行文件、不需要运行时/框架、提供所有源代码(无黑盒方法)、没有特定操作系统或额外成本。

请参阅这篇博客文章了解如何mORMot 可能是第一个提供实现领域驱动设计所需的所有模块的 Delphi 框架。与“经典”Java 或 .Net 实现相比,具有更轻、更快的解决方案。

结束编辑/更新

我开发了一个基于 ORM RESTful JSON 的框架,使用 SQlite3 实现数据库持久性。

当然,它不像 Bold 或 OPF 那么完整(没有 UML 也没有 OCL),但它可以工作,并且在 Delphi 7 到 Delphi 2010 上进行了测试。而且它仍然得到维护,并且将永远得到维护,因为它是免费和开源的。

您拥有一些有趣的功能,例如集成用户界面生成和 i18n、报告和导出为 PDF、客户端/服务器服务、集成单元测试。它使用 JSON 进行数据传输,并使用基于进程内通信、Windows GDI 消息、命名管道或 HTTP/1.1 的 RESTful 架构。因此它可以用于开发 AJAX 应用程序。

该框架与我们的 SynProject 工具完美集成,该工具从源代码创建文档,具有漂亮的图表和完整的文档可追溯性(它已用于满足我们使用该框架编写的医疗软件的 IEC 62304 要求)。因此,您没有 UML,但您手头有文档和图表。

如果您对 ORM 和 Delphi 感兴趣,欢迎您加入开源之旅!
http://blog.synopse.info/category/Open-Source-项目/SQLite3-框架

Begin Edit/update:

Since this answer was published, the framework was enhanced a lot, especially to supply all needed features for implementing true Domain-Driven Design:

  • Database agnosticism (not only SQLite3, but any database, including MS SQL or Oracle) of the ORM (even with the Delphi Starter edition);
  • Interface-based services, similar to WCF;
  • Very fast http.sys event-driven HTTP server, running in Kernel mode;
  • Ready to work with AJAX clients;
  • A lot of improvements and fixes;
  • It is now called Synopse mORMot Framework.

With all advantages of Delphi, i.e. small and fast executable, no runtime/framework required, all source code provided (no black box approach), no specific OS nor additional costs.

See this blog article to find out how mORMot is probably the first Delphi framework providing all bricks necessary to implement Domain-Driven Design. With a lighter and faster solution than the "classic" Java or .Net implementations.

End Edit/update

I've developed an ORM RESTful JSON based framework, using SQlite3 for its database persistence.

It's not so complete than Bold or OPF, of course (no UML nor OCL), but it works, and is tested with Delphi 7 up to Delphi 2010. And it's still maintained, and will be forever, because it's free and opensource.

You've interesting features like integrated User Interface generation and i18n, reporting and export to PDF, client/server services, integrated unit testing. It uses JSON for data transmission, and a RESTful architecture over in-process communication, windows GDI messages, named pipes, or HTTP/1.1. So it could be used for developing AJAX applications.

This framework integrates gracefully with our SynProject tool, which creates documentation from the source code, with nice graphs and complete document traceability (it has been used to fulfill IEC 62304 requirements for a medical SW we wrote with this framework). So you don't have UML, but you have documentation and diagrams available at hand.

If you're interested in ORM and Delphi, you're welcome joining the adventure of Open Source!
http://blog.synopse.info/category/Open-Source-Projects/SQLite3-Framework

想你只要分分秒秒 2024-09-19 20:48:10

这是当今德尔福较大的欠缺之一。对于复杂的项目来说,仅拥有旧的 TDataset 范例是不够的。

在 Delphi 2010 中编写一个简单的活动记录并不困难。但对于复杂的项目,您需要一些带有外部配置文件的数据映射器。

我正在为 Delphi 编写一个简单的 Hibernate(DORM 又名 Delphi 对象关系映射器)。如果有人想参与,请在 bitTime [dot] it 上发送电子邮件至 d [dot] teti。

例如。以下是 DORM 的单元测试

procedure TTestDORM.TestUpdate;
var
  p: TPersona;  //TPersona is a PODO "Plain Old Delphi Object" TObject descendat
  guid: string;
begin
  p := TPersona.Create;
  p.Nome := 'Daniele';
  p.Cognome := 'Teti';
  p.Eta := 30;
  p.DataDiNascita := EncodeDate(1979,11,04);
  Session.Save(p);  //DORM do an INSERT
  guid := p.guid;
  Session.Commit;
  Session.StartTransaction;
  p := Session.Load(TypeInfo(TPersona), guid) as TPersona; //DORM do a SELECT
  p.Nome := 'Peter';
  Session.Save(p); //DORM do an UPDATE
  Session.Commit;
  CheckEquals(1, Session.Count(TPersona));
  p := Session.Load(TypeInfo(TPersona), guid) as TPersona;  //DORM do a SELECT
  CheckEquals('Peter', p.Nome);
end;

有人感兴趣吗?

This is One of the bigger lack in the today's Delphi. Having only an old TDataset paradigm is not enough for complex projects.

Write a simple active record in Delphi 2010 is not difficult. But for complex project you need some datamapper with external config file.

I'm writing a simple Hibernate for Delphi (DORM aka Delphi Object Relational Mapper). If someone want to participate send an email to d [dot] teti at bitTime [dot] it.

eg. following is a unit test for DORM

procedure TTestDORM.TestUpdate;
var
  p: TPersona;  //TPersona is a PODO "Plain Old Delphi Object" TObject descendat
  guid: string;
begin
  p := TPersona.Create;
  p.Nome := 'Daniele';
  p.Cognome := 'Teti';
  p.Eta := 30;
  p.DataDiNascita := EncodeDate(1979,11,04);
  Session.Save(p);  //DORM do an INSERT
  guid := p.guid;
  Session.Commit;
  Session.StartTransaction;
  p := Session.Load(TypeInfo(TPersona), guid) as TPersona; //DORM do a SELECT
  p.Nome := 'Peter';
  Session.Save(p); //DORM do an UPDATE
  Session.Commit;
  CheckEquals(1, Session.Count(TPersona));
  p := Session.Load(TypeInfo(TPersona), guid) as TPersona;  //DORM do a SELECT
  CheckEquals('Peter', p.Nome);
end;

Someone interested?

怀念你的温柔 2024-09-19 20:48:10

我认为您可以使用 TMS Aurelius 和 TMS 数据建模器

这是一个有趣的链接

I think that you can do the job with TMS Aurelius and TMS Data Modeler

Here is a interresting link

回眸一笑 2024-09-19 20:48:10

2010 年的原始帖子,所以现在有点晚了。
如果原作者或其他任何人仍然对 Bold 感兴趣,我可以说它仍然存在并且正在积极开发。

几年前,Embarcadero 将其开源,因此这里有完整的源代码。
https://github.com/Embarcadero/BoldForDelphi/tree/AttracsBold

更多最新更新在 https://github.com/Embarcadero/BoldForDelphi/tree/develop

我也刚刚启动了一个关于 Bolds 文档的新网站(还没有太多内容)
https://docs.cyberdelia.dk/books/bold-for-delphi

Bold for Delphi 是一个成熟的 ORM 框架,自 2003 年以来已在大型 ERP 物流应用程序的生产中使用。
由于各种原因,Bold 是在私人存储库中开发的。
告诉我您对 Bold for Delphi 感兴趣,我可以看看我能做什么

Original post from 2010 so this is a bit late.
If the original author or anyone else is still interested of Bold I can say it is still alive and active developed.

Full source here as Embarcadero made it opensource some years ago.
https://github.com/Embarcadero/BoldForDelphi/tree/AttracsBold

More recent updates at https://github.com/Embarcadero/BoldForDelphi/tree/develop

I also just started a new site about Bolds documentation (not much content yet)
https://docs.cyberdelia.dk/books/bold-for-delphi

Bold for Delphi is a mature ORM framwork and is used in production in a big ERP logistics application now since 2003.
For various reasons Bold is developed in a private repository.
Tell me that you are interested of Bold for Delphi and I can see what I can do ????

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文