精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2004-06-13
一个企业黄页系统,每个企业根据自身特点会属于不同的目录下,一个企业也会属于多个目录。 企业会有广告、产品等附加信息,每种附加信息都可能有多条,比如10个广告,3个产品等 目录系统要求做到通用,也就是说,以后可能会有新的应用,目录中管理的可能不再是企业,也许是别的什么东西。 二、设计: A方案 方案特点 1、将目录与目录中管理的具体信息(如company)隔离开,使用了一个entry类,实际上目录里的东西是entry,而entry会去获取实际的信息(如Company) 在黄页应用中就新增YPDirectory类和YPEntry类,来把黄页中的元素(Company)和directory、entry连接起来。 2、company类负责维护Manufacture(中文意思是产品,这个英文用的有些不妥,product更适合,但实际的图是这样,我就没有改了)和Advertisement列表 B方案 方案特点 1、company类实现了IItem接口,通过getItem()方法将自身返回给调用的类,调用者通过调用Entry.item.getItem()获得一个Object类型的对象,然后根据需要,转型成正确的类型(如Company)。以后有新的应用也需要使用这个目录结构,只需要实现IItem接口即可 2、管理扩展信息列表的类都从ExtendsManager继承,而且具有一个user属性,类型为CardUser(Company为CardUser的子类),从ExtendsManager继承出ADManager(广告管理)、ProductManager(产品管理),以后也许会增加一个CustomerManager(顾客管理),这样就把扩展信息管理的指责从Company类剥离出来,Company类无需知道有哪些扩展信息要管理,而ExtendsManager的子类知道自己要管理谁的信息,管理什么信息,即使增加一种Manager,Company类也无需变化。 谢谢! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2004-06-15
题目的重点有两个:
1.目录中管理的可能不再是企业,也许是别的什么东西... 2.一个企业也会属于多个目录... 于是: 1.只要目录与目录内容分离,即可保证目录能扩展来管理其它类型的东西.(倾向于A) 2.只要目录能够记录多棵树, 且树结构的节点与组成节点的目录内容分离,即可保证'企业'作为节点被多棵树重用. 俺的拙见简要描述如下: [/img] |
|
返回顶楼 |