NLayerApp中,在领域模型层之上是应用层与分布式服务(Distributed Services)部分。应用层主要负责接收来自客户端的请求数据,然后协调领域模型层与基础结构层组件完成语义上相对独立的任务;而分布式服务部分则为应用层与客户端之间提供通讯的接口和技术架构,严格地说它已经不具备任何任务处理的责任了,在整个应用程序中是一个可有可无的角色:对于ASP.NET Web应用程序而言,它只需要...
分类:
移动平台 时间:
2014-01-31 15:29:09
收藏:
0 评论:
0 赞:
0 阅读:
514
Microsoft NLayerApp采用基于WCF的分布式服务组件为外界(各种类型的GUI)提供了访问接口,客户端程序只需要添加Service引用即可使用NLayerApp应用程序所提供的功能。在NLayerApp中,分布式服务部分的设计与结构还是比较简单的,主要包括DistributedServices.Core、DistributedServices.MainModule以及Distribu...
分类:
移动平台 时间:
2014-01-31 15:09:59
收藏:
0 评论:
0 赞:
0 阅读:
573
原本不打算写这篇的,因为之前基本上每篇文章都有总结部分,因此,在系列文章结束的时候,需要总结的内容并不多;但正如刚刚所说,经过几个月的努力,本系列文章也到了该结尾的时候,于是还是做个简要的总结吧。
我们从《项目简介与环境搭建》开始,了解了NLayerApp的项目概况、先决条件、运行环境以及部署方式,并对该项目所立足的理论基础做了一个非常简单的介绍;接下来的《多层架构与应用系统设计原则》、《DDD...
分类:
移动平台 时间:
2014-01-31 14:49:59
收藏:
0 评论:
0 赞:
0 阅读:
474
写在前面
其实这系列文章已经被很多网友转载过了,我自己也在前面的博客中给出了原文的链接。但毕竟博客园的人气更旺,加上不少网友强烈要求我把文章转贴到博客园,因此最终下定决心,将这系列文章重新整理并转贴在博客园上。
根据网友的讨论结果,以及自己在实践中的不断积累,在整理的过程中,我会将原文中的描述作相应调整。不仅如此,也有不少关心领域驱动设计的网友在原文的评论栏目中提了问题或作了批注,我也针对网友...
分类:
其他 时间:
2014-01-31 15:45:49
收藏:
0 评论:
0 赞:
0 阅读:
493
从DataTable到EntityObject
虽然从技术角度讲,DataTable与EntityObject并没有什么可比性,然而,它暗示了一场革命正在悄然进行着,即使是微软,也摆脱不了这场革命的飓风。
软件设计思想需要革命,需要摆脱原有的思路,而走向面向领域的道路。你或许会觉得听起来很玄乎,然而目前软件开发的现状使你不得不接受这样的现实,仍然有大帮的从业人员成天扯着数据库不放,仍然有大帮的...
分类:
其他 时间:
2014-01-31 15:28:19
收藏:
0 评论:
0 赞:
0 阅读:
583
Problem Description
A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., n into each circle separately, and the sum of numbers in two adjacent circles should be a prime....
分类:
其他 时间:
2014-01-31 14:49:09
收藏:
0 评论:
0 赞:
0 阅读:
470
1、KMP算法由来
字符串匹配问题描述:参见
LeetCode OJ:Implement strStr()
关于这个问题,最简单的想法就是扫描字符串s,一个一个进行比对,具体实现参见问题解答
2、简单匹配算法,BF算法,思想较简单,不做解释
class Solution {
public:
int BF(char *S ,char *T) {...
分类:
其他 时间:
2014-01-31 15:27:29
收藏:
0 评论:
0 赞:
0 阅读:
555
250pt:
题目:
Problem Statement
Elly has a string S of uppercase letters and a magic device that can modify the string. The strength of the device is an int
L.
The device does ...
分类:
其他 时间:
2014-01-31 14:39:59
收藏:
0 评论:
0 赞:
0 阅读:
615
通过java获取图片的metadata的方法...
分类:
其他 时间:
2014-01-31 14:56:39
收藏:
0 评论:
0 赞:
0 阅读:
632
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
public class Program
{
private stat...
分类:
其他 时间:
2014-01-31 15:22:29
收藏:
0 评论:
0 赞:
0 阅读:
901
上次在Linux下构建好了stm32开放平台,用的是ST官方的库,不过个人感觉人繁琐,不符合个人习惯,就打算给它进行封装一下,方便以后码代码....
分类:
其他 时间:
2014-01-31 15:34:09
收藏:
0 评论:
0 赞:
0 阅读:
612
sshd+rsync实现数据同步原理很简单
客户端通过sshd连接到服务器,服务器将数据同步到客户端
先了解一下服务器的内核信息
server端
[root@server ~]# uname -a
Linux server.test.com 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:43 EDT 2010 i686 i686 i386 GNU/Linu...
分类:
其他 时间:
2014-01-31 15:13:19
收藏:
0 评论:
0 赞:
0 阅读:
460
PHP最新BUG BUG66613 文档bug...
分类:
Web开发 时间:
2014-01-31 15:44:09
收藏:
0 评论:
0 赞:
0 阅读:
488
在引入实例以前,我们有必要回顾,并进一步了解分层架构。“层”是一种体系结构模式[POSA1],也是被广大软件从业人员用得最为广泛而且最为灵活的模式之一。记得在CSDN上,时常有朋友问到:“分层是什么?为什么要分层?三层架构是不是就是表现层、业务逻辑层和数据访问层?”
到这里,你可能会觉得这些朋友的问题很简单,分层嘛,不就是将具有不同职责的组件分离开来,组成一套层内部高聚合,层与层之间低耦合的软件...
分类:
其他 时间:
2014-01-31 14:45:49
收藏:
0 评论:
0 赞:
0 阅读:
433
从现在开始,我们将以一个简易的销售系统为例,探讨EntityFramework在领域驱动设计上的应用。为了方便讨论,我们的销售系统非常简单,不会涉及客户存在多个收货地址的情况,也不会包含任何库存管理的内容。假设我们的系统只需要维护产品类型、产品以及客户信息,并能够帮客户下订单、跟踪订单状态,以及接受客户退货。从简单的分析我们大致可以了解到,这个系统将会有如下实体:客户、单据、产品及其类型。单据分为...
分类:
其他 时间:
2014-01-31 15:33:19
收藏:
0 评论:
0 赞:
0 阅读:
488
EntityFramework(EF)中有一项功能,就是能够根据数据库中的存储过程生成实体的行为(或称方法,以下统称方法)。我在本系列的第一篇博文中就已经提到,这种做法并不可取!因为存储过程是技术架构中的内容,而我们所关注的却是领域模型。
Andrey Yemelyanov在其“Using ADO.NET EF in DDD: A Pattern Approach”一文中,有下面这段话:
...
分类:
其他 时间:
2014-01-31 14:54:09
收藏:
0 评论:
0 赞:
0 阅读:
410
聚合(Aggregate)是领域驱动设计中非常重要的一个概念。简单地说,聚合是这样一组领域对象(包括实体和值对象),这组领域对象联合起来表述一个完整的领域概念。比如,根据Eric Evans《领域驱动设计》一书中的例子,一辆车包含四个轮子,轮子离开“车”就毫无意义,此时这个联合体就是聚合,而“车”就是聚合根(Aggregate Root)。
从实践中得知,并非领域模型中的每个实体都能够完整地表述...
分类:
其他 时间:
2014-01-31 15:01:39
收藏:
0 评论:
0 赞:
0 阅读:
453
首先应该认识到,是对象就有生命周期。这一点无论在面向对象语言还是在领域驱动设计中都适用。在领域驱动设计中,模型对象生命周期可以简要地用下图表示:
通过上图可以看到,对象通过工厂从无到有创建,创建后处于活动状态,此时可以参与领域层的业务处理;对象通过仓储实现持久化(也就是我们常说的“保存”)和重建(也就是我们常说的“读取”)。内存中的对象通过析构而消亡,处于持久化状态的对象则通过仓储进行撤销(...
分类:
其他 时间:
2014-01-31 14:44:59
收藏:
0 评论:
0 赞:
0 阅读:
435
namedmanager 作用
使用新的 Amberphplib 框架,兼容 MySQL 5.6 STRICT SQL模式
是一个基于 Web 的 DNS 管理系统,可用来添加、调整和删除 DNS 的 zones/records 数据,支持 Bind 作为后端的 DNS 服务,支持 IPv4 和 IPv6....
分类:
Web开发 时间:
2014-01-31 15:32:29
收藏:
0 评论:
0 赞:
0 阅读:
972
PowerDNS
一种 DNS 服务器, 优点, 支持 PHP 网页管理, 支持直接在数据库中添加 DNS 地址记录, 比较灵活, 方便...
分类:
其他 时间:
2014-01-31 15:18:19
收藏:
0 评论:
0 赞:
0 阅读:
515