代码改变世界

随笔分类 - 04 模式架构

网站架构资料收集整理

2012-01-10 15:22 by Virus-BeautyCode, 10482 阅读, 收藏, 编辑
摘要:1.系统概况图 图1.1 系统架构概况图 图1.2 较为完整的系统架构图 2.系统使用的主要技术 下列排名不分先后 2.1前端 JavaScript,html,css,silverlight,flash Jquery Javascript类库,用来简化html的操作,事件处理,动画,异步访问,用于web的快速开发。最新版本是1.7.1,分为开发环境(大小为229k)和生产环... 阅读全文

【翻译】MVC vs. MVP vs. MVVM

2011-11-04 17:38 by Virus-BeautyCode, 3607 阅读, 收藏, 编辑
摘要:MVC vs. MVP vs. MVVM1 简介 原文地址: MVC vs.MVP vs.MVVM« Niraj Bhatt – Architect's Blog 三者的目的都是分离关注,使得UI更容易变换(从Winform变为Webform),使得UI更容易进行单元测试。2 MVC MVP2.1 MVC 1、View接受用户的交互请求, 2、View将请求转交给Controller, 3、Controller操作Model进行数据更新 4、数据更新之后,Model通知View数据变化 5、View显示更新之后的数据 View和Controller使用Strategy模式实现 阅读全文

消息提示的架构演进-理论篇

2011-10-12 11:57 by Virus-BeautyCode, 2872 阅读, 收藏, 编辑
摘要:项目是一个互联网应用。 假设项目有不同的用户群体,每个用户群体的前端都是一个独立的项目,交给不同的开发人员进行开发,前端和后端的交互方式选择WebService。 在前端和后端交互的过程中,主要有两类操作:一类是查询,包括返回单个记录和返回集合两种类型的查询;一类是命令,包括添加、删除、更新,当然,一次操作也可能是几个命令的组合请求。 第一类操作需要返回数据来显示,如果没有返回数据就会提示没有找到符合条件的数据。第二类操作,一般会影响后端的持久化数据,需要返回操作的结果,是成功还是失败,还是如何如何? 今天讨论的消息就是这种后端返回的操作结果,关于这种类型消息的设计,主要是这种消息... 阅读全文

架构演进-实例篇

2011-08-31 14:38 by Virus-BeautyCode, 6121 阅读, 收藏, 编辑
摘要:从上图可以看出,就是一个电子商务网站常见的支付、支付的后续处理,这样一个业务场景。支持多种支付方式,目前包括银联、支付宝,还有平台账户。平台账户就是注册用户将资金存储在平台为用户建立并维护的一个账户里,购买平台的产品,可以使用平台账户中的资金进行支付。 阅读全文

小议传统分层与新式分层,抑或与DDD分层

2011-01-10 14:42 by Virus-BeautyCode, 3880 阅读, 收藏, 编辑
摘要:引言 本文提到的分层只是软件架构上的分层。文中的传统分层指的是传统的三层结构:UI(界面表现层),BLL(业务逻辑层),DAL(数据访问层)。文中提出的观点也都是个人的一点认识,与任何组织没有关系,如有异议,还请各位踊跃拍砖。 当然了,出现的这些问题,也可能只是我个人的问题,不代表每个人都存在。无则加勉,有则改正吧。如果是个人的问题,那就当是个人总结吧,大家看看就算了。 这里说到的传统分层,也有可能是我对于分层的错误理解造成的,但是我看见的不只是我的项目是这么的结构,很多的项目也都是这样的结构。里面的代码, 都和我理解的一样,至少可以说明,还是有一部分人犯了和我一样的错误。 传统分层 传统 阅读全文

胡乱说一下我对于 BO VO PO DTO 的理解

2010-12-18 11:44 by Virus-BeautyCode, 7195 阅读, 收藏, 编辑
摘要:引言本文中将向大家介绍我对于是使用实体的一些体验,欢迎大家拍砖。更欢迎提出不同或者相同的意见。正文刚开始学会使用实体的时候就是建立一个Entity类库,然后里面的实体被其他各层引用。大家传递和使用的都是这一个类库中的实体,包括前端和后台的项目都是引用这个类库,传递和操作这个类库中的实体。就像上面的这幅图一样。每个都要添加对Entity的引用。每个项目都是这么做的,也没有发现什么不好的地方。以前都是做一些小项目,或者是自己Demo一下。上面的做法也没有什么问题,而且看到别人的文章也都是类似这样的结构。后来在学习DDD(Domain Driven Design)的时候,看到了很多的概念。有DTO, 阅读全文

通告(公告),消息(站内短信),提醒的设计<一>:通告

2010-11-26 17:37 by Virus-BeautyCode, 15305 阅读, 收藏, 编辑
摘要:1 业务描述首先我们来认识一下通告,消息,提醒这三者的区别和联系。1.1 通告Bulletin:平台发,用户收。分为实时通告和非实时通告。通告有优先级:紧急,高,普通。平台向单个用户发,平台向多个用户发,平台向某一个用户类型发,平台向全部用户发。平台发布通告。平台撤销通告。平台删除通告。平台查询通告。用户查看通告。用户查询通告。数据库特点一般不修改,每个用户一份,或者每个群体一份1.2 消息Mes... 阅读全文

谈谈我对实体的认识:DTO,DMO,DPO

2010-11-26 09:29 by Virus-BeautyCode, 5217 阅读, 收藏, 编辑
摘要:今天和大家谈的是我对于实体的一些认识,难免有偏颇之初,还请各位指出。大家都看到标题中的三个英文缩写了:DTO,DMO,DPO。DTO大家应该还是熟悉的,Data Transfer Ojbect(数据传输对象)。研究过DDD(Domain Driven Design领域驱动设计)的人应该了解过DTO。是用来传输数据的对象,应为领域对象虽然有数据(属性),但是领域对象上面还带有操作,在某些场合不适合进... 阅读全文

面向对象的分析与设计

2010-10-11 18:17 by Virus-BeautyCode, 3991 阅读, 收藏, 编辑
摘要:面向对象的分析与设计引言  我们首先介绍一些名词翻译  Object-Oriented Analysis and Design面向对象分析和设计  Assignning Responsibilities分配职责  Iterative Development and the Unified Process迭代开发和统一的过程  Embracing Change拥抱变化  Feedback and A... 阅读全文

应用ASP.NET MVC的系统软件架构-知识普及篇1

2010-10-09 13:04 by Virus-BeautyCode, 3250 阅读, 收藏, 编辑
摘要:应用MVC的系统软件架构          -----基础知识引言M-V-C(Model View Controller)/Files/virusswb/应用MVC的系统软件架构.doc  从上图可以看出是首先通过view的请求,经过url导航到一个controller中,最终定位到一个action,在action中访问具体的model,获取数据之后,将数据放入ViewData或者是TempDat... 阅读全文

分层架构中的服务层-服务层的相关模式

2010-09-07 07:14 by Virus-BeautyCode, 3616 阅读, 收藏, 编辑
摘要:服务层的相关模式 1 引言   我们把服务层看做是暴露给用户界面的一个服务集合。大多数时候,我们会发现服务层的方法很容易满足用户的行为。在大多数企业应用中,CRUD是常用的操作。有的时候在一次操作中会处理多个实体。  服务层包括角色管理,数据验证,通知,调整返回给用户界面的数据,或者是整合系统可能的需求。  在谈到这些的时候,一些设计模式可能会有帮助。下面是一些在实现服务层的过程中有帮助的模式。 ... 阅读全文

分层架构中的服务层-服务层实战

2010-09-06 12:14 by Virus-BeautyCode, 4991 阅读, 收藏, 编辑
摘要:引言  服务层是在交互的两个层中间又定义了另外一个层,典型的是在表现层和业务逻辑层之间。这个中间层只是实现应用的用例的类集合。  服务和面向服务的出现,使得整个解决方案更有价值、更加成功。与表现层相比,服务层提供了松散的耦合,服务层提供商定的协议,可重用性,跨平台的部署。服务向其他类一样,允许你调整你需要的抽象总数。    真实世界的表现层,主要是用户前端。用户做的每一件事都通过表现层和用户界面。... 阅读全文

用微软.NET架构企业解决方案 学习笔记(四)业务层

2010-08-20 09:02 by Virus-BeautyCode, 2935 阅读, 收藏, 编辑
摘要:业务层引言  Martin Fowler说过:“任何人都可以写出计算机才能理解的代码,只有写出人能理解的代码的程序员才是好程序员。”  每一个复杂的软件都应该按层来组织。每一层代表系统的一个逻辑部件。尤其是,业务层的模块包括了所有使得系统运行的时候和其它层交互所需要的功能算法和计算,其他层包括数据访问层DAL和表现层。  业务层是任何分层系统的神经中心,包含了大部分的核心逻... 阅读全文

《架构之美》读书笔记(一)

2010-08-19 05:31 by Virus-BeautyCode, 4780 阅读, 收藏, 编辑
摘要:1、引言  建筑师、音乐家、作家、计算机设计者、网络设计者、软件开发者都在使用架构一词,在其他地方也可能会听到这个词,但是他们产生的结果是不同的。建筑和交响乐有很大的区别,但是它们都有架构。进一步说,所有的架构师都在谈论他们工作的美妙,以及结果的美妙。一名建筑架构师可能会说一个建筑应该提供舒适的工作、生活环境,看起来应该是美丽的;音乐家可能会说音乐应该可以可以演奏的,有一个可以识别的主题,听起来应... 阅读全文

项目总结-代码之前的工作

2010-08-17 19:27 by Virus-BeautyCode, 2614 阅读, 收藏, 编辑
摘要:代码之前的工作比较多,也比较广,需要的不仅仅是开发技能,还包括行业知识,分析能力,设计能力。以及更深远的商业预见能力,预见系统之上的商业前景,是否值得我们开发这么一个系统,以及系统的大方向,服务的客户群,需要达到的目标,盈利的点。  一旦上面的商业目标确定之后,就需要行业专家以及架构师的介入。这两者会配合工作,行业专家的主要职责是构建满足商业目标的业务模型,将商业目标分解为很多小的业务模型,梳理其... 阅读全文

项目总结-耦合Couple

2010-08-07 16:37 by Virus-BeautyCode, 2680 阅读, 收藏, 编辑
摘要:耦合Couple引言  本文将到的耦合是指的软件开发中的耦合,而且是代码方面的耦合。包括后面讲到的分层,也只是逻辑分层,不是物理分层。  耦合是我们做软件开发经常会遇到的词汇,尤其是在使用面向对象语言进行开发的时候。看到的相关资料也都在说要低耦合,减少耦合。  尽管我们加入了设计模式,分了层,分了模块,做了等等的工作,还是发现存在耦合,还是有人说耦合高了,导致不能修改,修改、维护的代价太大了。直接... 阅读全文

用微软.NET架构企业解决方案 学习笔记(二)UML概要

2010-08-06 00:04 by Virus-BeautyCode, 3601 阅读, 收藏, 编辑
摘要:UML概要引言  设计一个系统,任何科学领域的系统,你首先需要做的是对它进行抽象。抽象模型为系统的视图、结构、行为、参与实体和流程方面具体的实现提供一个代理。在系统的参与人员(包括:开发者,架构师,所有者,用户)之间应该共享一个模型。为了能够提出反馈,提出错误的假设,改进建议,模型应该能够被系统的参与者所理解。尽管共享了一个模型,你还是需要用一种通用的,被广泛接受的的形式和符号来表达模型。例如:模... 阅读全文

用微软.NET架构企业解决方案 学习笔记(一)

2010-08-05 00:24 by Virus-BeautyCode, 4923 阅读, 收藏, 编辑
摘要:当今的架构师和架构  引言  在计算机的早期,大概是1960年左右,硬件的花费在软件之上,是占主导地位的。40年之后,我们发现情况发生了极大的变化。  因为工业的进步,硬件的成本急剧的下降。另一方面,软件开发的成本因为个性化企业级应用开发的复杂性而急剧上升。对公司来说,便宜的硬件使得为他们的信息系统增加越来越多的功能是值得的。最初一些独立的系统,相互之间没有连接,也很少会共享数据,在多年之后,变成... 阅读全文

领域驱动设计之入门级教程(下)

2010-08-04 00:15 by Virus-BeautyCode, 2803 阅读, 收藏, 编辑
摘要:在我们创建软件的时候,有很多的功能是和要解决的业务领域没有关系的,他们是软件的基础部件,或者是为软件服务的。例如:权限、日志、数据访问、文件访问、网络访问、用户界面等。最好将这部分功能从业务领域分离开来,独立出来,因为这部分功能是相对稳定的,这样既保证了这部分的独立性,便于升级维护,不至于影响业务领域的功能实现,同时将业务功能,业务规则尽可能放在业务逻辑处理层。这样在以后如果修改业务逻辑,不至于需... 阅读全文

领域驱动设计之入门级教程(上)

2010-08-03 19:51 by Virus-BeautyCode, 4692 阅读, 收藏, 编辑
摘要:不知道本篇能否算作是入门级教程,因为大概构思了一下,里面有的是属于教程的东西,有的是相关的知识延伸,有的则什么都不是,就算是一点初级的认识吧,因为我也是接触不久。主要刚看完《领域驱动设计》,是一本不错的书。我看的是免费的pdf精简版,好像卖的话要$30,大家可以买来看看,应该是不错的。购买地址:http://www.lulu.com/product/paperback/domain-driven-... 阅读全文