当前位置:  技术问答>java相关

多级结构的数据能不能用Composite模式啊?

    来源: 互联网  发布时间:2017-04-15

    本文导语:  小弟正在做一个项目,其中要用到部门,部门是多级的,结构如下: [部门]    |- [部门]    |- [部门]       |- [部门]       |- [部门]          |- [部门] (末级)                 ...

小弟正在做一个项目,其中要用到部门,部门是多级的,结构如下:

[部门]
   |- [部门]
   |- [部门]
      |- [部门]
      |- [部门]
         |- [部门] (末级)
                    |-[人员]

如果是末级的记录,则可以加入[人员],现在要设计部门管理(包括增加、删除和修改),我能不能用Composite模式进行设计啊,如果可以的话具体应该是怎么的呢?谢谢大家!!

|
当然可以:)
但你得先考虑一下你的情况,这些部门是不是有相同的操作要完成(或者说未来是不是有相同的操作要完成),比如说统计人数,添加删除部门啊什么的,还是只有个花架子。如果是前一种情况,Composite比较适合(你得慎重考虑一下怎样维护这样一个复杂的对象系统,最好是有个xml或是数据库来描述);如果时后一种情况,直接使用数据库或xml来描述,不必维护一个对象系统,只要实现最后一级部门就可以了。

从你说的情况来看,Composite是合适的。各部门统一拥有add,delete,update这样的接口,你的客户代码指通过接口访问某一级部门,而无需关心她到底是什么部门,也不必关心添加一个部门和个人之间有什么区别。

|
Tree类型的结构简直就是Composite的一种具体展现

|
每层实现一个类继承同一个接口(树根),子接点类组合进父接点类,这样的话对任何父接点的操作都可以作用到子接点而且方法相同(继承自同一接口)

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • <<大话数据结构>>中冒泡排序算法改进
  • 请问:在用proc方式往数据库插入数据时,我能不能定义一个结构体,它与表的每一项对应,将结构体赋好值后,再只将这个结构体插入表中,这行不行啊?
  • 基于Key-Value的NOSQL数据库Redis的数据结构及常用相关命令介绍
  • 全局结构体变量和全局结构体指针变量
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • 《arm体系结构结构与编程》书如何
  • 数据结构:图(有向图,无向图),在Python中的表示和实现代码示例
  • file结构和inode结构
  • mysql 命令大全及导入导出表结构或数据
  • 《莱昂氏UNIX源代码分析》中有一种结构体声明没有结构体名
  • 关于学籍管理系统B/S结构实现的结构问题
  • GCC 编译问题: 结构A中有个成员结构B??
  • 强人,linux下驱动相关数据结构和usb设备数据结构之间的功能分析
  • 谁能告诉我EJB的体系结构有哪些,这些体系结构的优缺点如何,万分感谢!
  • 协议的设计一般采用结构体进行数据打包,在协议设计的结构体中能不能使用指针 ?
  • struct __una_u16结构是什么结构.
  • GNU汇编fill填充一个数据结构使得另一个数据结构全部清零
  • 高手帮帮忙!vi中如何实现跳转到任意结构体或函数的声明处,包括系统库中声明的函数和数据结构?
  • jbuilder7里如何在project pane里显示出某个project的所有的类的结构图,就如显示source java files的结构图一样
  • 关于客户服务器结构与浏览器服务器结构编程的比较
  • 有一个win32的结构体,大伙看看能否转换成linux下的基本等价的结构体?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3