软件开发中的分层与中介者模式
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
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



