因为对java不熟悉的原因,导致了设计上面的缺陷,引以为咎
记录一下案例的情况:
1、对象系统的构建,分成几大类,形成树形关系,纵向
2、对对象系统的操作,类别无关,横向
上述两者都需要数据保存,但是横向操作其最终的目标者指向不明
为了提高数据处理能力,需要使用数据库,横向操作的数据必须能够使用动态的数据标识方式,表明最终的操作对象
因为一开始不了解hibernate的机制,以为没法建立动态表名,所以在别人的影响下,抽象了操作类别,并对对象系统中的各大类的基类,分别实现了抽象类别的具体实现
该实现的不足在于,新增对象系统类别时,需要同时实现对象系统操作的实例,同时,当需要新增操作类别时,只能通过修改操作基类(好一点)或扩展操作类别来实现
虽然现在看来,新增的操作和新增的类别都处于人工维护的代码可控状态(系统的负载度在于数据内容的变化繁复),但是始终不能做到完全的优雅解耦
引以为戒。。。
记录一下案例的情况:
1、对象系统的构建,分成几大类,形成树形关系,纵向
2、对对象系统的操作,类别无关,横向
上述两者都需要数据保存,但是横向操作其最终的目标者指向不明
为了提高数据处理能力,需要使用数据库,横向操作的数据必须能够使用动态的数据标识方式,表明最终的操作对象
因为一开始不了解hibernate的机制,以为没法建立动态表名,所以在别人的影响下,抽象了操作类别,并对对象系统中的各大类的基类,分别实现了抽象类别的具体实现
该实现的不足在于,新增对象系统类别时,需要同时实现对象系统操作的实例,同时,当需要新增操作类别时,只能通过修改操作基类(好一点)或扩展操作类别来实现
虽然现在看来,新增的操作和新增的类别都处于人工维护的代码可控状态(系统的负载度在于数据内容的变化繁复),但是始终不能做到完全的优雅解耦
引以为戒。。。
本文讨论了一个因对Java不熟悉而导致的设计缺陷案例。介绍了在构建复杂对象系统时遇到的问题,包括对象系统的构建方式、操作类别及数据保存方面存在的不足。特别强调了在不了解Hibernate机制的情况下所做的不当设计选择。
3600

被折叠的 条评论
为什么被折叠?



