随笔- 39  评论- 311  文章- 0 

对象界面映射(UI Mapping)——Mustang1.0.0.0!

这是一个对象界面映射的框架,它能做的事情是:建立对象和界面的映射,能够把界面的内容在界面显示,同时也能把界面的内容更新到对象中。

写的原因:
看了NHibernate的框架,觉得写得真的很好,很想自己也写一个程序,这时想到现在的多层开发中,其中一个难点在于层与层之间的映射问题,NHibernate等ORM解决了数据库和对象之间的映射,那么对象和界面的映射应该也是可以写一个的。我想它应该保持独立性。这表现在:
1)它和数据库没有任何关系,但可以和所有ORM配合使用。
2)界面的控件你可以自由来选择,界面控件如何和对象映射,你可以来自由控制。
3)控件的其他特性,比如大小、颜色等,可以交给其自身(比如:html或aspx等),或者有其他框架来负责。它应该专注于对象和界面的映射。

解决的问题:
1)对象-->界面,界面-->对象的代码往往是重复的两段代码。
2)处理int、decimal、datetime等值类型时。如果在数据库中为null的,则要使其在界面正常显示(或从界面取回数据)需要写一些重复代码。
3)此外对于DropdownListBox等有些控件赋值时,如果赋予的值不在范围内,会报错。这使得程序要写一些重复的判断语句。

1.0.0.0版本说明:
1)支持把对象的一个属性映射到界面控件的一个属性。
2)支持把集合对象中的一项映射到界面控件的一个属性。比如:一个Hashtable中一个key=abc的子项映射到控件的一个属性。
3)支持把对象内容分解成多项内容,然后映射到界面中去。比如:一个属性的值是"ID=1;Name1=
张三",可以把其分解成ID,Name两个属性并映射到界面控件上。
4)和现在已有的一些UI映射不同,对于界面中控件的位置、大小、颜色等,本框架并不处理。
5)仅支持BS版本,不支持CS。
6)不支持Datagrid等集合控件。
7)自定义界面和对象的绑定规则

源码和例子下载: Mustang 1.0.0.0

posted on 2005-08-28 14:42  microsheen  阅读(...)  评论(...编辑  收藏