重构——23复制“被监视数据”(Duplicate Observed Data)

简介: 复制“被监视数据”(Duplicate Observed Data):Observer/Observable模式。你有一些领域数据置身于gui控件中,而领域函数需要访问这些数据;将该对象复制到一个领域对象中。建立一个Observer模式,用以同步领域对象和Gui对象内的重复数据

复制“被监视数据”(Duplicate Observed Data)

Observer/Observable模式

你有一些领域数据置身于gui控件中,而领域函数需要访问这些数据;将该对象复制到一个领域对象中。建立一个Observer模式,用以同步领域对象和Gui对象内的重复数据

一、动机

一个分层良好的系统,应该将处理用户界面和处理业务逻辑的代码分开

二、做法

1、修改展现类,使其成为领域类的Observer

2、针对GUI类中的领域数据,使用Self Encapsulate Field

3、编译,测试

4、在事件处理函数中调用设值函数,直接更新GUI组件

5、编译,测试

6、在领域类中定义数据及其相关的访问函数

7、修改展现类中的访问函数,将它们的操作对象改为领域对象

8、修改Observer的update(),使其从相应的领域对象中将所需数据复制给GUI组件

9、编译,测试

目录
相关文章
|
4月前
|
SQL 移动开发 Java
“\r\n### Error updating database. ,解决问题的思路在于认真参考给的错误提示,看错误提示,这里我的数据表,没有写primary key 导致的
“\r\n### Error updating database. ,解决问题的思路在于认真参考给的错误提示,看错误提示,这里我的数据表,没有写primary key 导致的
|
4月前
|
存储 数据库
cannot read properties of underfined (reading ‘code‘),别光知道抄,有的时候,细节就是影响全局关键,别人代码到你项目不一定100%正确,判断bug出
cannot read properties of underfined (reading ‘code‘),别光知道抄,有的时候,细节就是影响全局关键,别人代码到你项目不一定100%正确,判断bug出
|
6月前
|
Oracle 关系型数据库 Unix
Note 89188 - R/3 System copy解决真正的不同机器系统的真正拷贝与复制
Note 89188 - R/3 System copy解决真正的不同机器系统的真正拷贝与复制
29 0
|
6月前
|
数据库
Greenplum【异常 03】COPY命令报错 > ERROR: invalid input syntax for type double precision: ““(问题分析及解决方案)数据去重
Greenplum【异常 03】COPY命令报错 > ERROR: invalid input syntax for type double precision: ““(问题分析及解决方案)数据去重
192 0
|
数据可视化 关系型数据库 MySQL
MySql命令报错:Duplicate entry ‘10‘ for key ‘PRIMARY‘解决方案
MySql命令报错:Duplicate entry ‘10‘ for key ‘PRIMARY‘解决方案
536 0
重构——29以数据类取代记录(Replace Record with Data Class)
以数据类取代记录(Replace Record with Data Class):你需要面对传统编程环境中的记录结构;为该记录创建一个“哑”数据对象
1557 0
SAP QM 执行事务代码QS23为检验特性分配Selected Set的时候报错 - You cannot use entries from catalogs 1 and 3-
SAP QM 执行事务代码QS23为检验特性分配Selected Set的时候报错 - You cannot use entries from catalogs 1 and 3-
SAP QM 执行事务代码QS23为检验特性分配Selected Set的时候报错 - You cannot use entries from catalogs 1 and 3-
如何处理UI5一般性错误Cannot read property md of undefined
如何处理UI5一般性错误Cannot read property md of undefined
192 0
如何处理UI5一般性错误Cannot read property md of undefined
|
Oracle 关系型数据库 数据库
重构——43添加参数(Add Parameter)
添加参数(Add Parameter):某个函数需要从调用端得到更多信息;为此函数添加一个对象,让该对象带进函数所需信息
1510 0