Рекомендации, которые я понял в Java (которая имеет много ограничений, по крайней мере для меня), даже с гибернацией должны были иметь отдельные слои
- Сущности, такие как лица, дети, пользователи и т. д.
- Объекты DAO, связанные с базой данных
- Сервис, предоставляющий сущности и функции, где я буду выполнять SQL
- Веб-служба, предоставляющая интерфейс поверх потребностей
Когда я начинаю с Eiffel и магазина, я сталкиваюсь с некоторыми трудностями, с которыми я сталкиваюсь с тех пор в программировании (надеясь, что на этой земле есть кто-то, у кого нет такой же проблемы). Я всегда хочу обобщать вещи больше, чем необходимо. Каждый раз, когда я копирую-вставляю, я рефакторинг и ищу решение, которое позволит мне написать его один раз... что требует времени и времени на поставку программного обеспечения, но для меня добавляет больше качества и гибкости к программного обеспечения. На самом деле я работаю один в компании, где я собираюсь быть ведущим разработчиком, и если будущее захочет, мы будем больше разработчиков. Цель состоит в том, чтобы разработать платформу сервисов в Eiffel, postgresql-odbc и веб-интерфейс Angular.
Я хотел бы иметь более общий шаблон, чтобы иметь возможность управлять объектами в будущем с типичными ситуациями, такими как:
- Сущности базы данных
- Relationships
- one_to_one
- один ко многим
- многие_к_одному
- многие_ко_многим
@ Дело в том, что я сейчас собираюсь разработать архитектуру, которая в идеале для меня имеет:
- DB_ENTITY, который как отношения: BAG[RELATIONSHIP[P,S]], где P=Primary и S=Secondary
- Первичным является P->DB_ENTITY, когда ОДИН и BAG[P], когда МНОГИЕ
- КОМПАНИЯ в моем дизайне будет наследовать от DB_ENTITY и добавлять отношения в виде ВЕТКИ. Итак, я подумал о том, что в моих ветвях класса COMPANY: RELATIONSHIP [например, Current, BRANCH]
Классы отношений помогли бы мне создавать операторы CRUD SQL на «сервисном» уровне более абстрактным образом.
- когда я пробую что-то более легкое, я нахожу ограничения в шаблоне, где мне приходится повторять операции... это немного моя трудность
- Как вы думаете, есть ли недостатки у такой модели, которую я создаю с первого шага разработки?