惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Blog of Author Tim Ferriss
S
Securelist
D
Docker
The Register - Security
The Register - Security
GbyAI
GbyAI
Recorded Future
Recorded Future
Engineering at Meta
Engineering at Meta
Stack Overflow Blog
Stack Overflow Blog
云风的 BLOG
云风的 BLOG
P
Proofpoint News Feed
罗磊的独立博客
博客园 - 【当耐特】
F
Full Disclosure
WordPress大学
WordPress大学
腾讯CDC
小众软件
小众软件
大猫的无限游戏
大猫的无限游戏
D
DataBreaches.Net
SecWiki News
SecWiki News
L
Lohrmann on Cybersecurity
I
InfoQ
MyScale Blog
MyScale Blog
量子位
Cyberwarzone
Cyberwarzone
博客园 - 三生石上(FineUI控件)
The Hacker News
The Hacker News
F
Fortinet All Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Jina AI
Jina AI
博客园_首页
H
Help Net Security
K
Kaspersky official blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Webroot Blog
Webroot Blog
Blog — PlanetScale
Blog — PlanetScale
V
Vulnerabilities – Threatpost
Y
Y Combinator Blog
The Cloudflare Blog
P
Proofpoint News Feed
V
Visual Studio Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Tailwind CSS Blog
爱范儿
爱范儿
P
Privacy International News Feed
Security Archives - TechRepublic
Security Archives - TechRepublic
The GitHub Blog
The GitHub Blog
C
Cybersecurity and Infrastructure Security Agency CISA
B
Blog RSS Feed

博客园 - 疾风

Internet Explorer允许的URL最大长度为2083个字符(Maximum URL length is 2,083 characters in Internet Explorer) Eval和Bind 古筝和古琴有什么区别? 认识CSS中absolute与relative BAT详细手册 iframe的使用 面向对象问答 用户点击Log In按钮后发生了什么?(续篇1) 用户点击Log In按钮后发生了什么? 微软的在线RSS阅读器 2003年至2006年项目总结 经常会有一些Gmail的邀请函 Visual Studio 2005 RTM的奇怪问题 在.Net代码中验证XML文档 2006年的一些目标 创建强类型的程序集 在.net中使用强类型来读取配置信息 自己做了一个单元测试的小工具---EasyTest.net How to gets the path for the executable file?
领域逻辑的实现分类
疾风 · 2006-07-23 · via 博客园 - 疾风

依据Martin Fowler的《企业应用架构模式》的说法,一般有三种方式实现领域逻辑:事务脚本、领域模型和表模块。

事务脚本

所谓事务脚本,其实就是让每个过程对应用户可能的一个动作。所以,我们可以将这一模型想象成一个动作或是业务的处理脚本。

事务脚本有以下的优点:

1、  它是一个简单的过程模型;

2、  事务的边界显而易见:一个事务总是始于其脚本的打开,而终止于其脚本的关闭;

3、  它能与基于数据入口或者表数据入口的简单数据源层协作得很好。

当然,它的缺点也是显而易见的:随着领域逻辑变得比较复杂,事务脚本的模式会使得程序变成由许多处理过程组成的极度杂乱的网。

领域模型

       
    领域模型使用面向对象的方法来抽象和建立业务规则。与业务脚本相比,领域模型更适合处理复杂和易于变化的领域逻辑。也是因为使用面向对象方法的缘故,领域模型对关系数据库的存取也更为麻烦。

表模块表模块是事务脚本和领域模型的一个中间地带,它围绕着“表”来组织领域逻辑,所以比业务脚本更容易发现和移除荣誉代码;另一方面,表模块也无法使用领域模型中用于组织细粒度逻辑结构的技术,例如继承、策略和其它面向对象的设计模式。

       表模块最大的优点在于其与软件架构中已有部分的衔接,比如记录集一起工作。

    对于使用Visual Studio/.NetDelphi的开发者来说,因为提供了非常强劲的数据集相关基础设施,所以在开发相对简单的数据密集型系统(如MIS)是使用表模块来实现领域逻辑或许是不错的选择。