myoverall вопрос пытается понять, какова лучшая практика построения большого API ядра .net.
Атм, меня научили работать с 4 различными слоями -
API (контроллеры)
Сущность (просто простые классы без какой-либо реализации, включает объекты базы данных и пользовательские классы для пользовательских запросов / ответов)
Логика (в основном построена так же, как сущность, но вместо классов она имеет фактическую логику каждого класса)
Данные (выполняет фактический разговор с базой данных, поэтому яможет реализовывать разные базы данных за этим)
В настоящее время я вижу видео-руководство по шаблону проектирования State, и кажется, что он объединил сущность и логические слои, так как он имеет фактическую реализацию логики насами классы.Это правильный способ работы?
Способ, которым я делаю это, состоит в том, что уровень API создает экземпляр уровня логики и отправляет запрошенную сущность в логику, где происходит фактический код.
Второй вопрос - я создаю приложение, которое выполняет банковские транзакции. Верно ли иметь свойство класса транзакций, которое называется State, а тип - Interface TransactionState
, и, скажем, 3 класса состояний, которыеунаследовать от интерфейса TransactionState?
и чем собственно логика мне следует делать из состояния класса?(Что возвращает меня к первому вопросу)
например -
Transaction newTransaction = new Transaction(.....)
newTransaction.State.Validate();
newTransaction.State.Proccess();
извините за длинный вопрос, надеюсь, у кого-нибудь будет время прочитать его lol
Спасибо!