Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > разработка больших систем


Автор: jsa 15.7.2008, 12:08
Hi all!

не знаю в какой форум лучше написать, поэтому решил сюда:
уже несколько лет (конкретно: пошел 4 год) занимаюсь разработкой и поддержкой одного программного продукта - арм по продаже автомобилей с аукционов японии, сингапура, америки, кореи  и т.д., на данный момент программа выросла на столько, что поддерживать ее одному человеку становиться все проблематичнее, поэтому в связи с этим есть идеи по оптимизации:
1) отделить обработку данных от визуальной зависимости(т.е. сделать так чтобы независеть от интерфейса программы), сейчас по большей части выборка и обработка данных зависит от внешнего вида формы (знаю что неправильно, пример: сортировка списков данных зависит от наличия соотвествующих кнопок форм)
2) соединение с бд вынести вообще в отдельный длл - хочу типа брать только какой нибудь готовый экземпляр соединения, и его везде юзать (поправте ели я не так выразился)
3) так как в проекте куча форм, порядка нескольких десятков,  создать какой нить единый репозитарий и брать от туда формы
4) передача данный  между формами, сейчас реализовано автозаполнение и сбор данных из форм через rtti,  и то только у нескольких, 
перевод остальных затронет изменение кучи кода
5) для каждого объекта данных (например машина, данные: марка, модель, номер кузова, вин и т.д.) есть куча разрозненных методов по обработке, кочется все переделать на интерфейсы - единые методы добавления, изменения, дополнительная обработка
6) .... еще не придумал 
а теперь ВОПРОС: есть ли где нить документация инфа, о построении (организации архитектуры) больших проектов на делфи

ЗЫЖ почему именно сейчас так? потому что изначально проект предпологал небольшое количество данных и четыре отчета, сейчас это.... несколько десятков различных отчетов, куча всяких реестров данных и т.д. .... и это еще не предел, в перспективе - вообще наполеоновские планы...

вот поэтому хочу провести оптимизацию по максимуму

Добавлено через 5 минут и 5 секунд
6) отчетность - опять же куча разрозненых методов по формированию отчетов, хочется единообразия, что не вспоминать где у меня тот или иной метод для конкретного отчета, 

Автор: Frees 15.7.2008, 12:49
ИМХО 
jsa, мне кажется твои иде по оптимизаций лучше реализовывать с 0 а не карежить старый проект. от старого в новый проэк можно перенести только алгоритчы бизнес логики.

Добавлено через 1 минуту и 58 секунд
Цитата(jsa @  15.7.2008,  12:08 Найти цитируемый пост)
6) отчетность - опять же куча разрозненых методов по формированию отчетов, хочется единообразия, что не вспоминать где у меня тот или иной метод для конкретного отчета, 


тут можно посмотреть в сторону OLAP 
мы в своем проекте используем вот такой компонент http://fast-report.com/ru/products/fast-cube.html
100% гибкий закрыл 100% задач по отчетности

Добавлено через 3 минуты и 58 секунд
Цитата(jsa @  15.7.2008,  12:08 Найти цитируемый пост)
1) отделить обработку данных от визуальной зависимости(т.е. сделать так чтобы независеть от интерфейса программы), сейчас по большей части выборка и обработка данных зависит от внешнего вида формы (знаю что неправильно, пример: сортировка списков данных зависит от наличия соотвествующих кнопок форм)


в данном вопросе почти все решения займут много времени для их реализаци

Автор: jsa 15.7.2008, 12:59
Frees, отчетность у меня реализована через fastreport vcl
насчет реализации с 0 - согласен, интересует теория как лучше спроектировать систему, 
насче времени - ес-но, так и получиться

Автор: Frees 15.7.2008, 13:07
Цитата(jsa @  15.7.2008,  12:59 Найти цитируемый пост)
отчетность у меня реализована через fastreport vcl

вот с него и ушли на fastCube скорость создания отчетов сократилась в десятки раз

Автор: kemiisto 27.7.2008, 10:53
http://rsdn.ru/article/patterns/patterns.xml

Автор: jsa 28.7.2008, 05:28
kemiisto, спасибо, как раз то что нужно

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)