Лучшая практика в Быстрой разработке приложений Delphi с точки зрения [закрытой] Возможности многократного использования

Нет, из-за расщеплений страницы. Вы по существу определяете строки, которые могут составить 1 КБ - n МБ, таким образом, Ваша база данных будет иметь много вакуумов на его страницах, которое плохо для производительности.

9
задан Jim McKeeth 7 July 2009 в 15:44
поделиться

8 ответов

Для Q1: Используйте зрелые библиотеки, которые делают за вас рутинную работу: DevExpress -или- TMS для пользовательского интерфейса (JEDI JVCL также очень хорош), FastReport для отчетности. Выберите также хорошую структуру подключения (это зависит от вашей серверной базы данных), чтобы решать многие повседневные задачи OOTB. Кроме того, если вы знакомы с OPF, обратите внимание на InstantObjects. Я слышал, это очень мило.

Для Q2: См. Улучшения IDE на cnpack.org

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

7
ответ дан 4 December 2019 в 11:07
поделиться

Я использовал ModelMaker с Delphi. Это действительно хороший инструмент, который позволяет рисовать объекты, а затем может генерировать код на основе написанных вами шаблонов.

Это может ускорить работу, когда в проекте есть несколько похожих классов.

1
ответ дан 4 December 2019 в 11:07
поделиться

Кроме того, если вы команда, ищите способы улучшить свой процесс разработки. Помимо использования Delphi в качестве языка реализации, каковы ваши методы управления проектами? Какую систему управления исходным кодом вы используете? Какая у вас система сборки? Используете ли вы автоматизированные методы тестирования? и т. д.

Когда я представил Scrum у предыдущего работодателя, мы почти сразу получили повышение производительности команды на 50%. Так что ознакомьтесь с различными методологиями Agile.

0
ответ дан 4 December 2019 в 11:07
поделиться

Одним из моих больших достижений в возможности повторного использования за последние годы стал переход на уровень ORM (я использую tiopf ), чтобы отделить мои бизнес-объекты от базы данных.

В качестве примера у меня есть постоянные db, фоновые связанные объекты электронной почты. Чтобы добавить их в другое приложение, я добавляю необходимые единицы и добавляю несколько строк конфигурации (отображение таблицы / поля). Точно так же у меня есть пользовательские объекты, общие списки поиска и т.п., которые можно добавить в разные проекты по цене начальной конфигурации. Это работает с разными базами данных без каких-либо изменений, кроме конфигурации.

tiopf - моя предпочтительная ORM (прочтите мой обзор здесь ), но есть и многие другие.

2
ответ дан 4 December 2019 в 11:07
поделиться

Для Q2: GExperts полезен. Поиск grep особенно удобен, хотя поиск / замена может вызвать нечетные побочные эффекты (вставка символов не должна!).

Я знаю, что вы упомянули бесплатный / открытый исходный код, но Castalia очень хорош. Методы рефакторинга работают хорошо, и мне нравится структурная подсветка, которая значительно упрощает работу с кодом (изначально я использовал для этого CodeRush, но только в Visual Studio). Стек закладок также удобен для быстрого перехода вперед и назад по коду.

1
ответ дан 4 December 2019 в 11:07
поделиться

Определение точного диапазона приложений, которые вы хотите создать, - хороший первый шаг. Повышение производительности почти всегда связано со специализацией. Общие инструменты - это лишь очень маленький процентиль производительности. Я бы предпочел искать (или создавать) специализированные фреймворки в своей сфере деятельности, если действительно хочу повысить производительность.

Я не использую GExperts или другие плагины. Я не сильно выигрываю (возможность отлично использовать grep в cmdline) в производительности, и любой сбой, которого можно избежать из-за проблем в плагине, является преждевременным.

1
ответ дан 4 December 2019 в 11:07
поделиться

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

База данных имеет небольшой набор типов. В вашем домене вы, вероятно, будете иметь сопоставления по умолчанию от типов домена к типам базы данных. У вас будут отчеты, фильтры и поиск по умолчанию (окна, панели, sql-запросы) для объектов вашего домена. У вас будет ролевой контроль доступа к ним.

Взгляните на разработку, управляемую доменами.

7
ответ дан 4 December 2019 в 11:07
поделиться

For true reusability, try to think in interfaces and try to black box as much as possible. Patterns are everywhere, research them and put them into practice.

When dealing with objects, as much as possible use the abstract, or an interface rather than a concrete implementation. Just be careful of taking this too far. Too many abastractions can add complexity and make debugging harder.

Units containing your business rules should be used by your gui. Units containing business rules should never themselves directly use gui units.

0
ответ дан 4 December 2019 в 11:07
поделиться
Другие вопросы по тегам:

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