事务脚本和领域模型之间的区别还是很明显的,显然,我们常见的系统中没有太多是采用领域建模来实现的;而大部分是采用事务脚本来实现。
我承认事务脚本在解决简单问题方面确实是简单,特别是只是简单的CRUD问题。
事务脚本的一个最重要的特征是:
1. 简单的过程模型。也就是一个Service方法就对应着用户的一个命令,该命令通过行数据入口或者表数据入口来完成取数据操作,以及其它的数据处理操作。
2. 行数据入口 或者 表数据入口。数据库中的记录对应一个对象,还是查询出来是对应数据库的记录集。行数据入口:为查询语句返回的每一行产生一个它的实例。这也应该是先行的很多ORM工具使用的方法。表数据入口:为查询语句返回一个记录集。对数据库中的每个表,仅仅使用一个对象来管理。
3. 事务的边界:开始于脚本的打开,终止于脚本的关闭。也就是事务边界就是在Service方法上。
在项目中,操作方式就是从Service -> DAO -> DB。我们数据库层采用的是ORM映射,数据库表和实体是一一映射关系,和行数据库入口差别不大。对于系统当中只有增删改查的情况,用这种方式相当直观,并且良好,不会有什么问题。
但是,在系统的业务逻辑比较复杂的地方。虽然,我现在搞不清楚,到底有哪些地方业务逻辑比较复杂。可能最为复杂的地方是在度量吧,度量那部分有很多计算。
一切在后面的发展过程中去看吧。现在不能简单的下结论,只要代码良好,问题都不大。
分享到:
相关推荐
在IT领域,数据库脚本是程序员和数据库管理员的必备工具,它们可以帮助实现以下关键功能: 1. **数据定义**:通过CREATE TABLE语句,可以定义数据库的表结构,包括字段名、数据类型、主键、外键等约束。例如,`...
本书标题为《用于空间数据处理的Python脚本》,作者是Pete Bunting等人。本书是面向初学者的Python教程,专注于教授空间数据处理方面的知识。在描述中提到,该书已被阿伯里斯特威斯大学在遥感和地理信息系统(GIS)...
Grails项目的目录结构遵循CoC原则,包括如`grails-app`(Groovy源码目录)、`conf`(配置文件)、`controllers`(MVC中的控制器)、`domain`(应用领域模型)、`i18n`(国际化)、`services`(服务层)、`taglib`...
总的来说,《Expert One-on-One J2EE Design And Development》这本书是J2EE开发者的一份详尽指南,它不仅教授了J2EE的核心技术,还提供了实践经验和深度洞察,有助于读者成为J2EE领域的专家。通过阅读和学习这本书...
《PHP5 And MySQL Programming》是IT领域中一本深受开发者喜爱的学习资源,主要涵盖了PHP5编程语言与MySQL数据库的集成应用。这本书旨在帮助读者理解和掌握如何使用PHP5与MySQL进行高效、安全的Web开发。 PHP5作为...
PHP(Hypertext Preprocessor)是一种广泛使用的开源服务器端脚本语言,尤其适合Web开发。它能够嵌入到HTML中,使开发者能够在网页上动态生成内容。在本书中,作者将详细介绍PHP的基本语法、变量、控制结构、函数...
1. **领域驱动设计**:Grails鼓励开发者采用领域驱动设计(DDD),将业务逻辑封装在领域模型中,提高了代码的可维护性和可扩展性。 2. **自动表单和验证**:Grails自动生成表单和验证规则,大大减少了前端和后端的...
通过本章的实际案例分析,读者可以更好地理解MongoDB在不同领域中的应用实践,例如电子商务、社交媒体等行业的具体实施细节。 ### 第十一章:MongoDB限制 尽管MongoDB具有诸多优点,但也有一定的局限性。本章列举...
4. MySQL数据库设计:讲解数据库概念,如ER模型、范式理论,以及如何设计高效的数据表结构。 5. 数据库操作:介绍如何创建、修改和删除数据库及表,以及索引的使用和优化。 6. PHP安全:讨论防止SQL注入、XSS攻击和...
这部分内容包括了数据访问、业务逻辑和用户界面的模式,如事务脚本模式、领域模型模式、表示层分离模式等。这些模式对于构建大型、复杂的企业系统至关重要,它们有助于实现系统的松耦合、可扩展性和可维护性。 **...
- 使用多种恢复策略(如事务日志、快照)来快速恢复受损数据。 - **性能监控与优化**: - 监控关键性能指标 (KPIs) 如响应时间、CPU使用率等。 - 使用索引、分区等技术提高查询效率。 - 调整配置参数以适应不断...
- 在项目构建脚本中添加JDO字节码增强任务,例如使用`jdoc`任务定义(见示例5-8)。 - 配置Ant构建文件,确保包含所有必要的JAR文件。 3. **构建持久性映射**: - 可以使用Kodo自带的工具或手动编写XML元数据文件...
Java面试题是评估应聘者Java编程技能和技术理解的重要方式,尤其在J2EE(Java Platform, Enterprise Edition)领域。J2EE是Java平台的一个版本,专门用于开发和部署企业级应用,包括分布式系统、Web应用和服务。以下...
- **JAAS(Java Authentication and Authorization Service)**:Java的安全模型,提供认证和授权服务。 - **过滤器(Filter)**:实现请求过滤,如登录验证、GZIP压缩等。 - **SSL/TLS**:保证网络通信的安全,...
在本文中,我们将深入探讨J2EE学习过程和学习方法,这是一个对于任何希望在企业级Java开发领域有所建树的开发者至关重要的主题。J2EE(Java 2 Platform, Enterprise Edition)是一种由Oracle公司维护的开放标准,...
然后,通过ODBC(Open Database Connectivity)数据源创建连接,使用SQL Server Import and Export Wizard或者编写T-SQL脚本来迁移数据。 2. SQL到Access的导出: 在反向操作中,从SQL数据库导出到Access可能涉及...
另外,附赠的《企业应用架构模式》则是一部经典之作,它总结了在大型企业系统中广泛使用的架构模式,如事务脚本、领域模型、数据访问对象(DAO)等。这些模式可以帮助开发者设计出更稳定、可扩展和易于维护的系统。 ...
PHP是一种广泛使用的服务器端脚本语言,尤其在Web开发领域,它以其灵活性和易学性而备受青睐。PHP可以嵌入到HTML中,也可以与各种模板系统和框架配合使用,提供动态网页内容。PHP 5及以上版本引入了更多的面向对象...
《Inside OLE》是关于微软组件对象模型(Component Object Model, 简称COM)及其在Windows操作系统中的实现——OLE(Object Linking and Embedding)的权威指南。这本书的第二版,即《Inside OLE 2E》,深入解析了...