阅读时,我不断看到他们称之为Business Objects
的内容。我已经查阅了维基百科,但我仍然没有得到Business Object
的内容。
对于那些不了解软件架构等问题的人来说,有什么简单的解释吗?
另外,Business Logic
是什么?
答案 0 :(得分:23)
这很简单
系统中的每个实体,代表系统与之交互的人类世界对象,都是业务对象。
系统中围绕操纵业务对象的人类世界逻辑是一种业务逻辑。
这与作为实现细节一部分的对象和逻辑相反。
例如,在多层交易系统中,订单/交易将是业务对象,但心跳将是实施细节。为流式传输编码订单/交易对象的逻辑将是实现细节,而一旦交易到达时将订单状态更改为“已完成”的逻辑是业务逻辑。
答案 1 :(得分:20)
嗯,业务对象通常被认为是代表实体的类,例如书籍或商店。这样的类具有某些属性,如价格,颜色,宽度,等值数字等。在Java或.NET中,它由所谓的setter和getters组成,即设置或获取这些属性的方法。
另一方面,业务逻辑是与该属性一起工作的部分或程序(该层),即该书如何出售。业务逻辑层使用业务对象来访问数据库。
答案 2 :(得分:13)
基本上,使用“商业”一词的唯一原因是因为术语是在商业软件的背景下发展起来的。因此,在这个意义上,假设该软件是为商业目的而构建的......而不是说,艺术,美学或创作目的。
因此,业务对象是现实世界“业务”对象的简单代码表示。因此,您可能拥有产品类或员工类。
业务逻辑,是应用程序中的逻辑,专用于软件设计的“业务”。所以,比如税收计算,或者产品与客户的关系......那种事情。
请注意,业务对象或业务逻辑的概念不适用于视频游戏开发或艺术开发。
它也不适用于某些框架或图书馆,例如ORMS或单元测试库,因为它们是可重用的组件,并非特定于任何“业务”。
答案 3 :(得分:3)
在传统的3层编程中,您有三个逻辑层或层。您有一个表示层,它是用户界面,底层是数据库层。中间层将是业务对象层。如上所述,业务对象应该被抽象出来,因为该网站可能根本不涉及业务。它是一个抽象层,可以更容易地更改表示层或切换到不同的数据源。
如果您的用户界面级别没有或只有很少的代码。它使设计人员更容易与程序员合作。设计人员可以改变网站的外观和感觉,而无需程序员必须对代码进行大量重写,使该网站工作。使用业务对象层,您可以执行大量的站点列表。您可以在不知道数据库层是XML数据库还是关系数据库的业务对象的情况下调用数据库层。然后业务对象层将更新对UI层的响应。 通常,使用的示例是银行交易。在用户界面中,客户输入他想从他的储蓄账户转账到他的支票账户的金额。
业务对象层将包含银行的业务规则。这意味着它将检查用户储蓄账户的余额,并确保转账金额不超过账户余额。业务层将包含实际计算储蓄账户和支票账户的新余额的类,它将提醒数据库层更新数据库。
答案 4 :(得分:2)
这与Fun Logic相反。
答案 5 :(得分:1)
业务对象:
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;
}
}
答案 6 :(得分:0)
业务对象的定义很难在搜索引擎上获得,因为它会告诉您Business Objects是SAP收购的公司。但这并不是大多数人所期待的。
业务对象是业务逻辑模型的业务场景封装。
例如:在采购领域:有一整套需要执行的活动。 从支出分析到产品信息请求以及为协商期限生成合同。因此,在这种特定情况下,像RFI(信息请求)这样的文档可以被认为是RFI业务对象的一个实例(它将具有与验证等过程相关的所有逻辑)。
答案 7 :(得分:0)
SAP系列业务对象与oracle核心设计模式中的业务对象不同,它与应用服务层交互...是的,业务对象确实与复合实体一起工作,但它有业务逻辑,它可以携带业务状态,一些简单的调整方法,它们是业务信息载体,可交换动态状态和应用程序层或域之间的交叉,但在不同的上下文中,它具有不同的详细指定名称,例如,我们可以说Web服务请求是一个xml格式的业务对象...它与数据实体
不同