2010-07-18 21 views
31

Al leer, sigo viendo referencias a lo que llaman Business Objects. He buscado en Wikipedia y tal, pero sigo sin obtener lo que es Business Object.¿Qué son Business Objects y qué es Business Logic?

¿Hay alguna explicación fácil de lo que es para alguien que no sabe nada sobre la arquitectura del software y tal?

Además, ¿qué es Business Logic?

+0

consulte [esto] (http://stackoverflow.com/questions/360860/what-is-domain-logic/38303676#38303676) respuesta que está relacionada con su pregunta. – palash140

Respuesta

20

Esto es fácil

Cada entidad en el sistema, lo que representa el objeto del mundo humano que se espera que el sistema es interactuar con un objeto de negocio.

La lógica del mundo humano en el sistema de manipulación de objetos comerciales es una lógica comercial.

Esto se opone a que los objetos y la lógica sean parte de los detalles de implementación.

Por ejemplo, en el sistema de comercio de múltiples niveles, el orden/el comercio serán objetos de negocios, pero el latido será el detalle de la implementación.

La lógica de codificación de objetos de orden/comercio para la transmisión será el detalle de la implementación, mientras que la lógica de cambiar el estado de la orden a 'completado' una vez que llegue la operación es una lógica comercial.

+0

Entonces, si te entendí correctamente, ¿cada clase en el código que viene directamente del Modelo de Dominio es un Objeto Comercial? –

+0

elysium @devoured - sí, pero "modelo de dominio" es un término del mismo tipo que "objeto de negocio" y "lógica de negocios", y si bien estos tres pueden expresarse en relaciones entre sí, puede no ser claro qué quieren decir en absoluto :) – bobah

16

Bueno, un objeto de negocio generalmente se considera una clase que representa una entidad, p. un libro o una tienda. Dicha clase tiene ciertas propiedades como precio, color, ancho, número de isbn, etc. En Java o .NET, consta de los llamados setters y getters, es decir, métodos que establecen u obtienen esas propiedades.

La lógica de negocios, por otro lado, es la parte o un programa (esa capa) que funciona con esas propiedades, es decir, cómo se vende este libro. La capa de lógica de negocios usa los objetos de negocios para acceder a la base de datos.

3

Es lo contrario de Fun Logic.

+0

¿Y qué es eso? –

+0

Lo opuesto a Business es divertido. Si todavía no lo sabe, nunca trabajó en una compañía real ... – f1sh

+1

...o nunca funcionó para uno malo. – nothingisnecessary

9

hey devorado, tuve problemas con esta terminología cuando comencé a desarrollar también.

Básicamente, la única razón por la que se usa la palabra "negocio" es porque la terminología se desarrolló en el contexto del software comercial. Por lo tanto, en este sentido, se supone que el software se ha creado con fines comerciales ... en oposición a fines artísticos, estéticos o creativos.

Por lo tanto, los objetos comerciales son simples representaciones de código de los objetos de "negocios" del mundo real. Por lo tanto, es posible que tenga una Clase de producto o una Clase de empleado.

Lógica empresarial, es lógica dentro de la aplicación que es específica para el "negocio" para el que se diseñó el software. Entonces, cosas como cálculos de impuestos, o cómo los productos relacionados con los clientes ... ese tipo de cosas.

Tenga en cuenta que la idea de objetos comerciales o lógica empresarial no se aplicaría al desarrollo de videojuegos o al desarrollo artístico.

Tampoco se aplicaría a algunos frameworks, o libraires, como ORMS o bibliotecas de pruebas unitarias, por ejemplo, porque son componentes reutilizables que no son específicos de ningún "negocio".

3

En la programación tradicional de 3 niveles, tiene tres capas o niveles lógicos.Usted tiene una capa de presentación que es la interfaz de usuario, la capa inferior sería la capa de la base de datos. La capa intermedia sería la capa de objetos comerciales. Como se señaló anteriormente, los objetos comerciales deben abstraerse en el sentido de que el sitio puede no tener nada que ver con el negocio. Es una capa de abstracción que facilita la realización de cambios en la capa de presentación o el cambio a una fuente de datos diferente.

Si su nivel de interfaz de usuario tiene muy poco o ningún código detrás. Hace que sea más fácil para los diseñadores trabajar con programadores. Los diseñadores pueden cambiar la apariencia del sitio sin que los programadores tengan que hacer una reescritura sustancial del código que hace que ese sitio funcione. Con la capa de objetos comerciales, realiza una lista exhaustiva del sitio. Realiza llamadas a la capa de la base de datos sin que el objeto comercial sepa si su capa de base de datos está en XML o en una base de datos relacional. Y la capa de objeto comercial luego actualizaría una respuesta a la capa UI. Normalmente, el ejemplo utilizado es para una transacción bancaria. En la interfaz de usuario, un cliente ingresa la cantidad que le gustaría transferir de su cuenta de ahorros a su cuenta de cheques.

La capa de objeto de negocio contendrá las reglas de negocio para el banco. Eso significa que verificará el saldo de la cuenta de ahorros de los usuarios y se asegurará de que el monto a transferir no supere el saldo de la cuenta. La capa empresarial contendrá las clases que realmente calculan los saldos nuevos tanto para la cuenta de ahorro como para la cuenta corriente y alertará a la capa de la base de datos para que actualice la base de datos.

0

La definición de un objeto comercial es difícil de obtener en el motor de búsqueda, ya que le dirá que Business Objects es una compañía adquirida por SAP. Pero eso no es lo que la mayoría de la gente busca.

Un objeto de negocio es la encapsulación del modelo de lógica de negocios un escenario de negocios.

Por ejemplo: en el dominio de aprovisionamiento: hay una lista completa de las actividades que deben realizarse. Del análisis de gastos a la solicitud de información para los productos a la generación del contrato para el término negociado. Entonces, en este escenario particular, un documento como RFI (Solicitud de información) se puede considerar como una instancia de un Objeto comercial RFI (tendrá toda la lógica relacionada con procesos como validación, etc.).

0

El objeto comercial serie SAP es diferente con el objeto comercial dentro del patrón de diseño Oracle que interactúa con la capa de servicio de aplicación ... sí, el objeto comercial funciona con entidad compuesta, pero tiene lógica comercial, puede llevar negocios estado, algunos métodos de ajuste fácil y son portador de información comercial con estados dinámicos intercambiables y cruzados entre niveles de aplicación o dominios, pero cuando en contexto diferente, tiene un nombre especificado detallado diferente, por ejemplo, podemos decir que la solicitud del servicio web es un negocio objeto en formato XML ... que no es lo mismo que entidad de datos

1

Business Object:

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

class Book { 
    long id; 
    String bookTitle; 
} 

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

lógica de negocios:

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; 
    } 
} 
Cuestiones relacionadas