Что такое бизнес-объекты и что такое бизнес-логика? - PullRequest
35 голосов
/ 18 июля 2010

При чтении я продолжаю видеть ссылки на то, что они называют Business Objects. Я посмотрел на Википедию и тому подобное, но я не понимаю, что такое Business Object.

Есть ли какое-нибудь простое объяснение того, что это для того, кто ничего не знает об архитектуре программного обеспечения и тому подобное?

Кроме того, что такое Business Logic?

Ответы [ 8 ]

23 голосов
/ 18 июля 2010

Это просто

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

Логика человеческого мира в системе управления бизнес-объектами - это бизнес-логика.

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

Например, в многоуровневой торговой системе ордер / торговля будут бизнес-объектами, а сердцебиение будет деталями реализации.

Логика кодирования объектов ордеров / сделок для потоковой передачи будет детальной реализацией, в то время как логика изменения состояния ордера на «завершено» после поступления сделки является бизнес-логикой.

20 голосов
/ 18 июля 2010

Ну, бизнес-объект обычно считается классом, который представляет сущность, например, Книга или Магазин. Такой класс имеет определенные свойства, такие как цена, цвет, ширина, число isbn и т. Д. В Java или .NET он состоит из так называемых методов установки и получения, то есть методов, которые устанавливают или получают эти свойства.

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

13 голосов
/ 19 июля 2010

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

По сути, единственная причина, по которой используется слово «бизнес», заключается в том, что терминология разработана в контексте коммерческого программного обеспечения. Таким образом, в этом смысле предполагается, что программное обеспечение было создано для деловых целей ... в отличие, скажем, для художественных, эстетических или творческих целей.

Итак, бизнес-объекты - это простое кодовое представление реальных бизнес-объектов. Таким образом, у вас может быть класс продукта или класс сотрудника.

Бизнес-логика - это логика в приложении, специфичная для "бизнеса", для которого было разработано программное обеспечение. Итак, такие вещи, как налоговые расчеты, или как продукты связаны с клиентами ... такого рода вещи.

Обратите внимание, что идея бизнес-объектов или бизнес-логики не будет применима к разработке видеоигр или художественному развитию.

Это также не относится к некоторым фреймворкам или библиотекам, таким как ORMS или библиотеки модульного тестирования, в качестве примера, потому что они являются повторно используемыми компонентами, которые не являются специфическими для какого-либо «бизнеса».

3 голосов
/ 26 октября 2011

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

Если ваш уровень пользовательского интерфейса не имеет или очень мало кода за ним. Это облегчает работу дизайнеров с программистами. Дизайнеры могут изменить внешний вид сайта без необходимости переписывать код, который заставляет этот сайт работать, программистам. С слоем бизнес-объектов вы делаете тяжелый список сайта. Вы выполняете вызовы на уровне базы данных, при этом бизнес-объект не знает, находится ли уровень вашей базы данных в XML или реляционной базе данных. И уровень бизнес-объекта затем обновит ответ на уровне пользовательского интерфейса. Обычно используемый пример относится к банковской транзакции. В пользовательском интерфейсе клиент вводит сумму, которую он хотел бы перевести со своего сберегательного счета на свой текущий счет.

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

2 голосов
/ 18 июля 2010

Это противоположность Fun Logic.

1 голос
/ 07 марта 2015

Бизнес-объект:

class User {
    long id;
    String fullNames;
    int age;
}

class Book {
    long id;
    String bookTitle;
}

class Sales {
    long id;
    long userID;
    long bookID;
}

Бизнес-логика:

class BookSalesController {
    private User user = new User();
    private Book book = new Book();
    private Sales sale = null;

    public Sale sale(long saleID) {
        String query = "SELECT * FROM Sales s WHERE s.id = :saleID";
        ....
        .... execute the query

        // Assuming we have our Result Set here by now

        if (rs.next()) {
            sale = new Sales(rs.getString("User Names"));
            sale.setUserID(rs.getLong(userID));
            sale.setBookID(rs.getLong(bookID));
        }

        return sale;
    }
}
0 голосов
/ 14 ноября 2014

Бизнес-объект серии SAP отличается от бизнес-объекта внутри шаблона проектирования oracle'core, который взаимодействует со слоем службы приложения ... да, бизнес-объект работает с составным объектом, но имеет бизнес-логику, он может переносить бизнес-состояние некоторые легко настраиваемые методы, и они являются носителем бизнес-информации с взаимозаменяемыми динамическими состояниями и пересекаются между уровнями приложений или доменами, но когда в другом контексте у него другое подробное заданное имя, например, мы можем сказать, что запрос веб-службы является бизнес-объектом в формате xml ... это не то же самое, что объект данных

0 голосов
/ 12 апреля 2013

Определение бизнес-объекта сложно найти в поисковой системе, поскольку оно скажет вам, что Business Objects является компанией, приобретенной SAP.Но это не то, что ищет большинство людей.

Бизнес-объект - это инкапсуляция модели бизнес-логики в бизнес-сценарии.

Например: в области закупок: существует целый списокдействия, которые должны быть выполнены.От анализа затрат до запроса информации о продуктах до генерации контракта на согласованный срок.Таким образом, в этом конкретном сценарии такой документ, как RFI (Запрос информации), может рассматриваться как экземпляр бизнес-объекта RFI (он будет иметь всю логику, связанную с процессом, например проверку и т. Д.).

...