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

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

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

Ответы [ 5 ]

4 голосов
/ 04 августа 2010

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

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

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

4 голосов
/ 04 августа 2010

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

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

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

- Йерун

3 голосов
/ 04 августа 2010

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

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

Я пишу простой Hibernate для Delphi (DORM aka Delphi Object Relational Mapper). Если кто-то хочет принять участие, отправьте электронное письмо d [dot] teti на 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;

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

2 голосов
/ 27 мая 2012

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

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

2 голосов
/ 04 августа 2010

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

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

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

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

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

Конец редактирования / обновления

Я разработал каркас на основе JSON ORM RESTful,используя 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, вы можете присоединиться к приключению с открытым исходным кодом!http://blog.synopse.info/category/Open-Source-Projects/SQLite3-Framework

...