随笔分类 - 走向.NET架构设计
走向.NET架构设计
摘要:走向.NET架构设计-第六章-服务层设计(中篇) 前言:上一篇文章介绍了一些服务层的基本知识,而且也简要的介绍了SOA的有关知识,本篇主要是介绍在服务层可以采用的一些模式。本篇议题如下:Façade 模式Document Message和Request-Reponse模式Reservation 模式Idempotent模式 Façade设计模式 在SOA客户端的设计中,最常用的模式就是Façade模式了。Façade模式简化了复杂子系统的调用接口,也就说,Façade隐藏了子系统之间的复杂关系,给客户端一个简单的调用接口。 Façad
阅读全文
摘要:走向.NET架构设计—第五章—业务层模式,原则,实践(中篇) 前言:设计模式并不是什么很高深的东西,至少不是那么“神乎其神”。说到底,设计模式就是一些设计思想。下面我们就走进项目,看看这些项目中这些思想是如何体现的。本系列文章会在后续文章中陆陆续续的,在恰当的时候介绍一些相应的设计模式,而不是一股脑的一起上。本篇的议题如下:架构模式设计模式设计原则 设计模式 本篇文章主要是讨论的在业务层可以采用的或者常用的一些设计模式: Factory Method Decorator Template Method State Strategy Factory Method相...
阅读全文
摘要:走向.NET架构设计—第五章—业务层模式,原则,实践(前篇) 前言:不管是GOF的23种设计模式,还是Flower的企业架构模式,相信很多的朋友知道或者听说过。在那些很经典的书中,对模式都做了很精辟的解释,本篇的目的在于看看这些模式如何应用在项目中的,并且给出一些代码的例子,小洋也希望大家能够真正的理解这些模式的思想,而不仅仅停留在代码结构和表面上。本篇的议题如下:架构模式设计模式设计原则 在上一章中,我们讲述了有关业务层分层的一些知识,下面我们就来看看,在具体的业务层的设计中,我们可以采用哪些模式可以将业务层设计的更加的灵活! 架构模式 首先我们就来看看,如何更加有效的组织业务规则。...
阅读全文
摘要:走向.NET架构设计—第四章—业务层分层架构(后篇) 前言: 在上一篇文章中,我们讨论了组织业务逻辑的模式:Transaction Script和Active Record,Domain Model。在本篇中开始讲述Anemic Model。今天的内容比较简单,也是本章的一个收尾!本篇议题如下:Transaction Scrip(前篇)Active Record前篇)Domain Model(中篇)Anemic Model(后篇)DDD(后篇) Anemic Domain Model: 初看起来,贫血型领域模型和Domain Model模式很像。但是它们确实是不同的:Domain Mo...
阅读全文
摘要:走向.NET架构设计—第四章—业务层分层架构(中篇) 前言: 在上一篇文章中,我们讨论了两种组织业务逻辑的模式:Transaction Script和Active Record。在本篇中开始讲述Domain Model和Anemic Model。 注:不管技术的道路多么难走,我们还是得踏踏实实的把技术做下去。也希望朋友们能够一如既往的支持本系列。本篇议题如下:Transaction Scrip(前篇)Active Record前篇)Domain Model(中篇)Anemic Model(后篇)DDD(后篇) Domain Model:在开发过程中,我们常常用Domain Model来对目..
阅读全文
摘要:走向.NET架构设计—第四章—业务层分层架构(前篇) 前言:在任何一个项目中业务层毫无疑问是最重要的层,所以在设计的过程中,如何组织业务层是至关重要的。本章的讨论将会涉及Flower的架构模式一书中的四种组织业务层的模式:Transaction Sript,Active Record,Anemic Model 和Domain Model。每一中组织业务逻辑的模式有着各自都优缺点,如何选择他们重要的还是取决于我们所要开发的项目的类型。在讨论完四种模式之后,我将会和大家一起来看看DDD的一些知识。每种模式的讲解,我都会用实例的形式给出完整的代码,也希望大家多琢磨!本篇议题如下:Transacti.
阅读全文
摘要:走向.NET架构设计—第三章—分层设计,初涉架构(后篇) 前言:本篇主要是接着前两篇文章继续讲述! 本篇的议题如下:4. 数据访问层设计 5. 显示层设计6. UI层设计 4. 数据访问层设计 数据访问层,这块要说的不多。但是要澄清一点:数据访问不一定就是访问数据库,虽然多数的情况下,我们确实把数据存储在数据库中。这里我们用数据库存储数据,并且用Linq To Sql来进行数据访问操作。 下面我们就来实现数据操作的一些代码:代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.Cod...
阅读全文
摘要:走向.NET架构设计—第三章—分层设计,初涉架构(中篇) 前言:自从上篇发布以后,大家反馈了不少问题,因为前篇讲的东西不是很深,可能大家看完之后没有什么感觉.本章(前篇,中篇,后篇)的主要目的其实首先是提出不好的设计,然后对比的提出一个相对比较合理的分层架构,同时本篇也为后续讲述架构模式和设计模式等的文章做个铺垫。本篇的议题如下:1. 阐明示例需求2. 业务层设计3. 服务层设计4. 数据访问层设计5. 显示层设计6. UI层设计 1. 阐明示例需求 本篇还是用之前的电子商务网站中的一个简单的场景来讲述:在页面上需要显示产品的列表信息。并且根据产品的类型不同,计算出相应的折扣。 在...
阅读全文
摘要:走向.NET架构设计—分层设计,初涉架构(前篇) 前言:本篇不打算接着上一篇来,这没有关系,以为内他们之间的联系不大,以后我再补上。因为之前一直在谈论设计,也谈了一些TDD的东西,大家反应觉得讲述的还是有点”空”,所以打算换一种方式:先讲述一些例子,把一些思想穿插着讲述,理论的东西最后最为总结。希望大家支持!本篇主要讲述ASP.NET应用中如何进行逻辑分层。本篇的前篇会从Smart UI 反模式和它的一些缺点开始讲述,然后一步步的讲述如何逻辑分层,而且在后篇中也会给出一个ASP.NET设计中常用的仅供参考的分层架构的Demo。 一个稳定和易维护的系统必须建立在一个好的基础之上。计划和设计一个.
阅读全文
摘要:走向.NET架构设计---第二章:设计 & 测试 & 代码 前言:本篇之所以选择TDD作为例子,主要是由两个原因:1. TDD确实呈现了设计的思路;2. 相对于DDD来说, TDD更加容易上手,学习的曲线没有那么陡峭。 再次申明一下:本系列不是讲述TDD的,只是用TDD来建立设计的思想。即便是用DDD,有时候还是结合TDD一起使用的。 本篇的议题如下:开发方式比较什么是设计设计初探 开发方式比较 我们用下面的一段分析来引出今天的内容: 想想我们平时是如何在写代码: 拿来需求,分析功能,编写功能代码。 这样的方式,没有问题,大家也一直沿用很多年了。为了后面描述方便,我们称这种..
阅读全文
摘要:走向.NET架构设计--第一章:走向设计 前言:很多做开发的人都在不断的摸索着,积极的学习,试图找出一条走向架构设计的成功法则。每当有人问起我们的职业,我们也常常在说:”软件设计”。有时,我就在想:”设计”,这个已经被我们嚼烂了的词,到底有多少人真正懂”设计”的含义。 自动进入IT,走在开发这条路上,就一直在不断的摸索,寻找,苦思:如何能够才能成为架构师。于是在网络上不断的收集和阅读架构设计方面的书籍和资料,到处在找一些架构师的传记,文章和甚至是采访资料.....同时一直不断的请教自己的一些前辈,或者同事,不同人都不同的说法,有人说:搞架构的,要懂很懂底层例如从汇编到C,要...
阅读全文