8、软件开发中的分层与中介者模式

软件开发中的分层与中介者模式

1. 分层设计与观察者模式

1.1 分层设计的概念

在软件开发中,将 GUI 对象与领域或业务对象分离时,可以创建代码层。层是一组具有相似职责的类,通常收集在单个命名空间和程序集中。较高层(如 GUI 层)通常仅依赖于相等或较低层的类。分层设计通常包括明确定义层之间的接口,例如 GUI 与其所代表的业务对象之间的接口。

1.2 Tpeak 对象与分层应用

BurnRate 和 Thrust 类使用 Tpeak 对象来计算其函数,但它们不需要监听(即注册)更改事件。这种设计允许将滑块的值转换为峰值时间值的工作只进行一次。应用程序更新单个 Tpeak 对象,所有监听更改的 GUI 对象都可以查询 Tpeak 对象以获取其新值。

然而,Tpeak 类的功能主要是持有一个值,因此可以考虑提取一个值持有者类。此外,像峰值时间这样的观察值可能不是独立的值,而是某个领域对象的属性。例如,峰值时间是火箭发动机的一个属性。可以改进设计,分离类,使用一个值持有类让 GUI 对象观察领域对象。

1.3 PropertyHolder 类的实现

PropertyHolder 类包含支持观察者模式的逻辑。一个 PropertyHolder 实例为一个业务对象持有一个属性,并在属性更改时更新监听器。以下是 PropertyHolder 类的实现代码:

public class PropertyHolder
{
    private Object _obj;
    private PropertyInfo 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值