这个层次的静态视图也将我们的视角切换到系统内部。尽管业务处理层次为出现在业务处理中的真实抽象建立了模型,这个层次将抽象建模为其在系统中所要被表示的那样。在实际的系统中,架构师会为每个软件层(表示层、业务层和数据访问层)设计类。为了保持本文的简洁,图 7 只展示了业务层的静态设计,以便说明系统层抽象是如何针对设计进行改进的。
图 7. 从零售商处在线购买物品的逻辑层次静态视图
架构师对系统层类进行改进以设计业务层接口。
因为系统中的所有账户和客户都是零售商的,所以创建一个单一的 Company 实例并使其与所有账户相关联是不切实际的,因此该层次中省略了 Company。我们只是存储 Payment 所带的信用卡号和账单邮寄地址,并非为每个 CreditCardAccount 创建一个单独的实例。此外,对系统来说,为每个出售的 Item 创建一个实例是不切实际的,因此从模型中删除了 Item,并改为由模型跟踪 LineItem 中订购的物品数量以及在新 ShippedItems 类中附带的物品数量。
架构师还定义业务层公开的服务间隔。对于本示例,业务层为 Account、UserAccount、Order、Shipment 和 Catalog 导出了 Create、Read、Update 和 Delete (CRUD) 服务。椭圆形指出了 CRUD 间隔。
请注意,即使本层次的类不是业务处理类的合适超集,架构师也可以通过直接改进业务处理类、将视角由系统外部更改为系统内部来实现这个设计。
物理抽象层次
文章来源于领测软件测试网 https://www.ltesting.net/