woaidongmao

文章均收录自他人博客,但不喜标题前加-[转贴],因其丑陋,见谅!~
随笔 - 1469, 文章 - 0, 评论 - 661, 引用 - 0
数据加载中……

类型耦合,及其解耦

 

层与层之间必须有交互,

交互通过接口进行

接口由若干类型构成

类型分为数据规格,与调用规格(函数入口定义)

当层与层之间的入口类型发生变化时,依赖于该类型的层,都必须重新编译和发布。

我把这叫做类型耦合

 

考虑如下

void CDailogA::SetViewData(const SomeType& data);

void CDailogA::GetViewData(SomeType& data);

 

如果SomeType的类型发生变动,整个界面层必须重新编译, 此时,可以

1、努力维持SomeType的不可变动性;但很多时候,SomeType并不是跨层数据传递的零时类型,而是在其它层次中是具有意义的实体定义类型,比如其可能是某种类型在数据层的定义,必须具有可变性;

2、建立统一式,通过【元数据,类型信息】 + 【数据对象指针】 + 【 映射关系】(通过XML配置),进行统一的跨层数据输入和输出;

3、这个第2方法是需要思考的,并且要扩大范畴。

posted on 2011-08-06 17:07 肥仔 阅读(429) 评论(0)  编辑 收藏 引用 所属分类: 编程思想


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理