Есть ли какие-либо платформы/библиотеки для Delphi, которые близко подходят к функциональности, предлагаемой Полужирным/экологическим?

Не уверенный, что произошло с Полужирным/экологическим во время Borland/Codegear/Embarcadero перехода, но меня верная мисс это в более новых версиях Delphi. Кто-либо знает о платформе, которая приближается?

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

7
задан Roland Bengtsson 9 January 2017 в 12:03
поделиться

4 ответа

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

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

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

- Джерун

4
ответ дан 6 December 2019 в 14:00
поделиться

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

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

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

4
ответ дан 6 December 2019 в 14:00
поделиться

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

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

  • Агностицизм базы данных (не только SQLite3, но и любая база данных, включая MS SQL или Oracle) ORM (даже с версией Delphi Starter);
  • Службы на основе интерфейса , аналогично 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, добро пожаловать в приключение с открытым исходным кодом! http://blog.synopse.info/category/Open-Source-Projects/SQLite3-Framework

2
ответ дан 6 December 2019 в 14:00
поделиться

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

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

Я пишу простой Hibernate для Delphi (DORM aka 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;

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

3
ответ дан 6 December 2019 в 14:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: