Существуют ли какие-либо фреймворки / библиотеки для Delphi, которые приближаются к функциональности, предлагаемой Bold/Eco?

Не уверен, что случилось с Bold/Eco во время перехода Borland/Codegear/Embarcadero, но я уверен, что пропущу это в более новых версиях Delphi. Кто-нибудь знает структуру, которая приближается?

Если нет, возможно, вы могли бы предложить комбинацию библиотек и компонентов, которая подходит ближе.

5 ответов

Альтернативы - список OPF для Win32 Delphi (с кратким описанием для каждого).

Я только когда-либо использовал Bold для Delphi (и до сих пор использую), но я не думаю, что какая-либо из альтернатив подходит даже близко в наборе функций. И это, я полагаю, ключ, какие функции важны для вас? Если вам не нужно все, что предоставляет Bold, возможно, вы можете выбрать одну из альтернатив.

В качестве альтернативы, вы все еще можете использовать Bold, последний выпуск - Bold для Delphi 2006 и надеяться, что Embarcadero в конечном итоге откроет его или продолжит разработку. Пользователь постоянно пытается что-то сделать с Bold, но Embarcadero, похоже, хорошо справляется с этим.

Кажется, hcOPF - единственная реальная ORM для Delphi win32, но она еще не приблизилась.

Для UML-моделирования и тому подобного для Delphi win32(или C#) я рекомендую Model Maker.

Оба инструмента имеют поддержку Delphi 2010.

--jeroen

Это один из самых больших недостатков в сегодняшнем Delphi. Имея только старый TDataset Парадигма не достаточно для сложных проектов.

Написать простую активную запись в Delphi 2010 не сложно. Но для сложного проекта вам понадобится datamapper с внешним конфигурационным файлом.

Я пишу простой Hibernate для Delphi (DORM или Delphi Object Relational Mapper). Если кто-то хочет принять участие, отправьте электронное письмо по адресу d [dot] teti at bitTime [dot] it.

например. Ниже приведен модульный тест для 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;

Кто-то заинтересован?

Я думаю, что вы можете сделать работу с TMS Aurelius и TMS Data Modeler

Вот интересная ссылка

Начать редактировать / обновлять:

С тех пор как этот ответ был опубликован, структура была значительно улучшена, особенно для предоставления всех необходимых функций для реализации истинного доменно-управляемого дизайна:

  • Агностицизм базы данных (не только SQLite3, но и любой базы данных, включая MS SQL или Oracle) ORM (даже с версией Delphi Starter);
  • Interfaceуслуги на основе, аналогичные WCF;
  • Очень быстро http.sys управляемый событиями HTTP-сервер, работающий в режиме ядра;
  • Готовы работать с клиентами AJAX;
  • Множество улучшений и исправлений;
  • Теперь он называется Synopse mORMot Framework.

Со всеми преимуществами Delphi, то есть небольшим и быстрым исполняемым файлом, не требующим времени выполнения / фреймворка, всем предоставленным исходным кодом (без подхода "черного ящика"), без конкретной ОС или дополнительных затрат.

См. Эту статью в блоге, чтобы узнать, как mORMot, вероятно, является первой средой Delphi, предоставляющей все кирпичики, необходимые для реализации доменного дизайна. С более легким и быстрым решением, чем "классические" реализации Java или.Net.

Конец Редактировать / обновить

Я разработал каркас ORM RESTful на основе JSON, используя SQlite3 для сохранения своей базы данных.

Конечно, он не такой полный, как Bold или OPF (без UML и OCL), но он работает и тестируется с Delphi 7 до Delphi 2010. И он все еще поддерживается и будет всегда, потому что он бесплатный и с открытым исходным кодом.

У вас есть интересные функции, такие как создание встроенного пользовательского интерфейса и i18n, создание отчетов и экспорт в PDF, клиент-серверные услуги, интегрированное модульное тестирование. Он использует JSON для передачи данных и архитектуру RESTful для межпроцессного взаимодействия, сообщений Windows GDI, именованных каналов или HTTP/1.1. Таким образом, его можно использовать для разработки приложений AJAX.

Эта структура изящно интегрируется с нашим инструментом SynProject, который создает документацию из исходного кода, с красивыми графиками и полной прослеживаемостью документов (она использовалась для выполнения требований IEC 62304 для медицинского ПО, которое мы написали с этой средой). Таким образом, у вас нет UML, но у вас есть документация и диаграммы под рукой.

Если вы заинтересованы в ORM и Delphi, присоединяйтесь к приключениям Open Source! http://blog.synopse.info/category/Open-Source-Projects/SQLite3-Framework

Другие вопросы по тегам