Что определяет бизнес-объект

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

Я нашел книгу "Expert C# Business Objects", будет ли это моей лучшей отправной точкой для лучшего понимания?

5 ответов


бизнес-объект относится к бизнес-поведению или данным, связанным с сущностью, которую он представляет.

в приложении, у вас есть код, который делает то, что приложение должно делать (дела) и код, который технически позволяет работать и взаимодействовать с пользователем. Например, в шаблоне MVC, бизнес материал будет работу модели.

Я думаю этой объясняет это лучше. Вы также можете взглянуть на шаблон MVC и ответственность каждого слоя. Как только вы это поймете, тогда будет легче увидеть, что квалифицируется как "бизнес-объект".


бизнес-объекты являются частью элементов вашего модель предметной области.

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

бизнес-объект, бизнес entites, или просто объекты как-то заменяемые термины. Там ссылаются на то, что программное решение будет представлять в реальном мире, это может быть client, account, documents, etc. Это может быть все, что ваше решение должно адресовать.

Это исключает чисто технические объекты, которые существуют только для решения вопросов реализации.

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

посмотреть:


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

вещи, которые не являются бизнес-объектами, будут включать такие вещи, как MenuForm, база данных, транзакция.


Я до сих пор не получил 100% понимания того, как бизнес-объекты (BO) отличаются от объектов передачи данных (DTO).

Мне кажется, что DTOs содержит только данные, в то время как BOs содержат данные и код для работы с данными?!?

таким образом, один BO может "содержать" данные нескольких DTOs, верно?


бизнес-объект-это объект, представляющий бизнес-объект и необязательно может содержать бизнес-логику.