关于角色定义引用自《领域驱动设计》一书
实体---有唯一标识的对象
这个也就是我们经常定义在需要存储到数据库的那些对象,有个ID属性的,比如User,Topic等等之类的对象。
值对象---没有唯一标识的对象
一般是被实体在使用的另一组对象,他们没有所谓的ID属性,只有需要的符合业务要求的属性,比如Money这样的对象,你不会需要在数据库里有个专门的表来存储。因为值对象一旦创建就不能改变,每次改变都只会产生一个新的值对象,类似String。
工厂---定义创建实体的方法
一般来讲,也就是说当初始化代码比较长的时候,就用工厂来构建实例了。如果构造中没有任何代码,那用new完全是可以的。不要过度的去考虑这方面的设计。等需要的时候再采用这个方式。
仓库---管理实体的集合,并封装持久层框架
这个就很简单了。DAO。叫什么名字都无所谓吧。主要是确定范围。这个,就是用来封装持久化框架访问数据库的。当然。这里面你写JDBC和SQL也可以。
服务---实现无法指派给单个类的责任,并封装领域模型
这里我就要说一下了。大多数的JAVA程序设计在Service这一层没有把握好。
比如用Service中委托DAO,仅仅是出现了这样的代码:
public void save(User user){
this.userDao.save(user);
}
这样的设计实在是难看。
Service中主要是执行了多个操作,需要有一个事务来保证完整性。
结果就是大部分的时候就是一个保存或者是更新操作,就那么一步,也加到Service里。实在让人费解。
特别是一些CRUD的系统,完全没必要有Service的存在。要了干嘛。多了一堆代码就是为了delegate,代码越多,维护越麻烦。务必要清楚这个道理才是。
只有在真正需要的时候才创建Service,这应该才是真正的设计之道。
现在我们经常说,不要为了设计模式而设计模式,不要过度设计。但这就属于最好的反面教材了。
再说一个。大多数情况下没人会在项目中途把Hibernate换掉吧。那我们要DAO接口干嘛?
接口的定义是什么?你真的是预见了未来的情况吗?
不过暂时我还没想好正式的JAVA解决办法。
不过已经稍微有点眉目了。
也许我今天写的也有不对。不过我想尽可能证明是对的,也没准,我刚好证明了我的想法又是错的。这个世界就是如此的纠结。。。
完了。。扯了一堆。。。继续发神经。
分享到:
相关推荐
在具体内容方面,文档中提到的领域模型包含了多个元素,如环境(Environment)、角色(Role)、策略(Policy)、功能(Functionality)、资源(Resource)、行为(Behavior)和结果(Result)。这些元素共同构成了...
- 领域模型设计:采用充血模型而非贫血模型,并且在设计中融合设计模式、流程编排、事件驱动等元素。 - 强化单测:确保代码的质量,通过单元测试来保证各个领域模型的正确性和稳定性。 - 持续重构:在业务生命周期内...
在RBAC模型中,权限不再直接赋予用户,而是赋予角色,用户通过被分配到特定角色来获取相应的权限。这样,授权过程简化,管理负担减轻,并且实现了职责分离,减少了错误和欺诈的可能性。RBAC模型通常包含以下关键组件...
在3D建模和游戏开发领域,这些角色模型是极有价值的参考资源。 对于3D模型研究者来说,"九阴真经所有角色模型"提供了一个深入了解游戏角色建模和设计的宝贵平台。你可以从中学习到如何构建逼真的身体比例,如何处理...
这些模型以日本热门手游《阴阳师》中的SSR(Superior Soul Rare,超级稀有)角色为蓝本,设计精细,细节丰富,达到了与官方设定媲美的水准。对于想要在游戏中创建独特角色或者进行3D艺术创作的用户来说,这是一个...
在中台设计中,领域模型扮演着至关重要的角色,因为它们定义了中台服务的核心业务逻辑。通过将业务能力封装在领域模型中,中台可以提供标准化的服务接口,实现业务的快速响应和创新。 5. **战略设计与战术设计**: ...
在U3D中,角色模型是至关重要的组成部分,它们赋予游戏或应用程序生动的视觉表现力和互动性。本资源包提供了一些U3D角色模型,供学习和参考。 角色模型的创建通常包括以下几个步骤: 1. **概念设计**:首先,艺术...
在游戏开发领域,角色模型制作是一项至关重要的工作,特别是在像《剑灵》这样拥有精美画面的游戏之中。本规范文档详细阐述了《剑灵》角色模型的制作流程和技术要求,旨在帮助开发者遵循统一的标准,确保角色的高质量...
《网游天谕角色模型》是3D建模领域的一个重要组成部分,主要应用于网络游戏开发和设计。3Dmax作为一款强大的3D建模软件,被广泛用于创建复杂的角色模型,包括人物、动物等。在这个特定的案例中,模型已经与biped骨骼...
#### 软件的根本目标与领域模型的重要性 在现代软件开发过程中,软件的目标始终是为了解决实际业务问题,满足企业的核心需求。为了达到这一目的,建立合适的领域模型至关重要。领域模型不仅帮助我们更好地理解业务...
本资源"unity3d 游戏模型 human characters 带动作 low poly 角色人物.zip"提供了一组适用于游戏的人类角色模型,这些模型具有低多边形(low-poly)设计,并且已经包含了各种动作。低多边形设计是一种优化技术,它减少...
在领域驱动设计中,领域模型扮演着至关重要的角色。它描绘了业务领域内的各种实体、关系以及规则,涵盖了领域内的业务逻辑和概念。与纯粹的数据模型不同,领域模型包含了更丰富的语义信息,反映了实体之间的复杂关系...
这款资源集包含了六个精心制作的女性角色3D模型,每个模型都具有高度的细节和精度,旨在为游戏开发、影视特效、虚拟现实、动画制作等领域提供卓越的视觉效果。 1. **Cinema 4D(C4D)介绍**:Cinema 4D是由德国...
RBAC96模型中处理私有权限的方式是为每个角色创建一个额外的“私有角色”,这会导致角色数量急剧增加,增加了管理和维护的复杂度。 2. **部门权限问题**:在组织内部,可能存在某些权限仅限于特定部门内使用的情况。...
在3D建模领域,"角色绑定模型"是制作三维动画不可或缺的一部分。"bodymech_MegaPack"是一个专门针对这一需求的资源集合,它包含了大量预先制作好的、适用于欧美风格角色的绑定模型。这些模型通常由专业角色绑定艺术...
3D模型是数字艺术中的一种表现形式,它通过计算机软件创建出立体的虚拟对象,用于游戏、电影、动画等领域。在游戏开发中,角色模型是至关重要的组成部分,它决定了角色在游戏中的外观和动作。模型的制作通常包括建模...
在IT行业中,游戏开发是一个非常重要的领域,而游戏模型则是构建虚拟世界不可或缺的元素。本文将深入探讨"古代角色"和"王者世界"的游戏模型,以及相关知识点。 首先,"古代角色"指的是游戏中的角色设计,这些角色...
在3D建模领域,角色模型的设计是一项复杂的工作,它涉及到多个环节,包括概念设计、3D建模、UV展开、贴图绘制、光照烘焙以及最终的动画设定。在《CrossFire全部角色模型》中,我们可以深入探讨以下几个知识点: 1. ...
软件框架的过程—角色模型研究是计算机科学领域的一个深入探讨,它涉及软件工程和系统架构设计的核心概念。该研究提出了一个过程—角色模型,以动态的视角描述软件框架的控制流程和相关的角色,从而体现了框架的运行...
总的来说,《枪神纪女人物模型》是一个面向3D建模爱好者和游戏开发者的资源,提供了一个无需额外动画工作的人物形象,可以在各种创意项目中发挥重要作用。通过学习和实践,用户可以提升自己的3D建模技能,或者为...