C # Design Pattern лучшие практики - PullRequest
0 голосов
/ 10 мая 2019

myoverall вопрос пытается понять, какова лучшая практика построения большого API ядра .net.

Атм, меня научили работать с 4 различными слоями -

  1. API (контроллеры)

  2. Сущность (просто простые классы без какой-либо реализации, включает объекты базы данных и пользовательские классы для пользовательских запросов / ответов)

  3. Логика (в основном построена так же, как сущность, но вместо классов она имеет фактическую логику каждого класса)

  4. Данные (выполняет фактический разговор с базой данных, поэтому яможет реализовывать разные базы данных за этим)

В настоящее время я вижу видео-руководство по шаблону проектирования State, и кажется, что он объединил сущность и логические слои, так как он имеет фактическую реализацию логики насами классы.Это правильный способ работы?

Способ, которым я делаю это, состоит в том, что уровень API создает экземпляр уровня логики и отправляет запрошенную сущность в логику, где происходит фактический код.

Второй вопрос - я создаю приложение, которое выполняет банковские транзакции. Верно ли иметь свойство класса транзакций, которое называется State, а тип - Interface TransactionState

, и, скажем, 3 класса состояний, которыеунаследовать от интерфейса TransactionState?

и чем собственно логика мне следует делать из состояния класса?(Что возвращает меня к первому вопросу)

например -

Transaction  newTransaction = new Transaction(.....)
newTransaction.State.Validate();
newTransaction.State.Proccess();

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

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...