步步为营 .NET三层架构解析 四、Model设计(四种设计方式)
说到Model设计,我们先谈谈它的作用:
Model又叫实体类,model层里面的一个类对应数据库里面的一张表, 类里面的每一个属性对应表里面的一个字段,每个属性都有自己的 GET 和 SET 方法, 项目中的数据存取都要依靠GET和SET方法来实现.确切的说它不属于纵向的哪一层,而是所有层都要用到的业务实体层。其实最主要的作用还是用来传递参数.
下
http://cyqdata.cn/cnblogs/article-detail-35506
软件业技术与管理的衔接角色:架构师——从技术层到管理层修炼之路
今天开会谈到个人职业规划与发展问题,大部分人都想从技术到管理华丽转身,可又不知道如何做管理。其实一个最好的过度角色便是架构师。请看我下面的总结与建议:
软件架构师工作职责是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划。
一般来讲,软件架构师主要分成:
1:前端架构师: 前端架构师主要负责软件产品的前端呈现,必须具有以下能力
http://cyqdata.cn/cnblogs/article-detail-35384
MMN实用架构过程概览
MMN(Macro-Micro-Nano,即宏观-微观-纳米)实用架构过程初步体现了我的架构观:即以实用主义态度把握架构原则与本质思想,从系统的各个层次剖析架构,提供一个具有指导意义和实施价值的架构过程,采取简略、敏捷而又全面的方式,对软件系统进行架构与设计。架构的步骤必须是清晰可见,每一步都有明确的目标与实际的指导意义。MMN实用架构过程既有大局观的思考与基本原则指导,又要着眼于细处,突出强调宏
http://cyqdata.cn/cnblogs/article-detail-35359
步步为营 .NET三层架构解析 二、数据库设计
要开发用户管理系统,我们首先要了解需求,现在就举一个简单需求,用户表,假设有两种角色用一个字段departID来判断,管理员和员工,
我们要先建一个用户表custom和一个部门表department:
CREATE TABLE [dbo].[custom](
[id] [int] IDENTITY(1,1) NOT NULL,
[cname] [nvarchar](50) COLLATE
http://cyqdata.cn/cnblogs/article-detail-35338
步步为营 .NET三层架构解析 一、什么是三层架构
在项目开发的过程中,有时把整个项目分为三层架构,其中包括:表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。三层的作用分别如下:
表示层:为用户提供交互操作界面,这一点不论是对于Web还是WinForm都是如此,就是用户界面操作。我们网站展示给用户看的界面。
业务逻辑层:负责关键业务的处理和数据的传递。复杂的逻辑判断和涉及到数据库的数据验证都需要在此做出处理。
http://cyqdata.cn/cnblogs/article-detail-35243
网站架构之缓存应用(4)缓存监控管理
对于web系统中增加缓存服务,使用起来还是挺方便的,目前可采用的方案比较多,有微软的企业库,memcached等等。但如果需要很好的对项目中的缓存进行监控管理,也不是一件特别容易的事情,例如:监控缓存服务器上都有哪些项目使用了缓存,具体都有多少个key,大小,单个key的命中率以及过期时间等信息。有了这些信息,就非常容易排查内存为什么快用完的问题,如果再提供手
http://cyqdata.cn/cnblogs/article-detail-35073
NoSQL架构实践(二)——以NoSQL为主
[文章作者:孙立 链接:http://www.cnblogs.com/sunli/ 更新时间:2011-3-14]
前面一篇《NoSQL架构实践(一)——以NoSQL为辅》主要介绍了以NoSQL为辅助的架构,这种架构实施起来比较简单,易于理解,由于其中也使用了传统的关系数据库,让开发者更容易控制NoS
http://cyqdata.cn/cnblogs/article-detail-32635
TOGAF:从业务架构到业务需求
做管理型软件产品一般都要经历架构阶段,而架构又可以简单分为业务架构和技术架构,对于架构方法,在我以前的blog中大量的介绍了TOGAF。
使用TOGAF的几个初衷
在我们开发软件时,如果你做过设计和架构工作,那么你会发现软件开发过程中其实存在很多断沟。
业务架构到技术架构的不一致
业务架构是一拨人做,技术架构师另一拨人做,结果做业务架
http://cyqdata.cn/cnblogs/article-detail-32324
HubbleDotNet 软件架构
HubbleDotNet 目前已经有很多用户,但大部分用户还仅仅停留在使用层面,真正深入去研究和了解的人不是很多。作为一个开源项目,HubbleDotNet 除了可以提供应用的需要外,其本身的代码对希望了解信息检索和底层软件开发技术的开发人员也应该有一定的参考作用。为了方便对这方面感兴趣的开发人员阅读和理解 HubbleDotNet 的代码,我把HubbleDotNet 的软件设计架构公布出来,供
http://cyqdata.cn/cnblogs/article-detail-31711
remoting架构探讨
(文/金延涛)
1.remoting技术的特点
remoting技术可以为分布式应用提供强有力的支持,我们可以根据需求和特定的环境选择合适的通道和序列化的方式满足我们的应用。另外remoting技术具有非常好的扩展特性,我们甚至可以在remoting体系结构的每个组件上进行扩展和自定义来满足丰富的应用需求。
2.环境分析
网络环境分析
假设公司是一家大型机构,内部出于安全的需要,不同的部门
http://cyqdata.cn/cnblogs/article-detail-28655
我的架构经验小结(五)-- 日志记录
以前写的关于架构经验方面的文章(如上一篇实战中演化的三层架构)都是从整体的角度出发的,采用全局的视角,本文我们将拉近镜头,聚焦于日志记录这一块。随着做软件的时间越长、经验积累得越来越多,就越觉得日志记录的重要。
日志记录的主要作用可以从正反两个方面来说:
(1)如果程序运行出
http://cyqdata.cn/cnblogs/article-detail-25556
Discuz!NT中的Redis架构设计
在之前的Discuz!NT缓存的架构方案中,曾说过Discuz!NT采用了两级缓存方式,即本地缓存+memcached方式。在近半年多的实际运行环境下,该方案经受住了检验。现在为了提供多样式的解决方案,我在企业版里引入了Redis这个目前炙手可热的缓存架构产品,即将memcached与Redis作为可选插件方式来提供了最终用户,尽管目前测试的结果两
http://cyqdata.cn/cnblogs/article-detail-25334
NoSQL架构实践(一)——以NoSQL为辅
[文章作者:孙立 链接:http://www.cnblogs.com/sunli/ 更新时间:2011-2-21]
前面《为什么要使用NoSQL》和《关系数据库还是NoSQL数据库》两篇从大体上介绍了为什么要用NoSQL,何时该用NoSQL。经常有朋友遇到困惑,看到NoSQL的介绍,觉得很好,但是却不知道如何正式用到自己的项目中。很
http://cyqdata.cn/cnblogs/article-detail-25331
使用AuthToken架构保护用户帐号验证Cookie的安全性
在项目或者网站开发中,我们很多人很多时候喜欢使用微软的FormsAuthentication类的GetAuthCookie函数生成需要在访客客户端放置的帐号校验Cookie,这个本身没问题,但是很多人会被GetAuthCookie的userName参数误导,以为传递UserID或者UserName就很安全了.而实际上,Cookie本身并不安全,如果完整复制了校验Cookie,在Cookie的允许时
http://cyqdata.cn/cnblogs/article-detail-25326
使用Apworks开发基于CQRS架构的应用程序(八):应用程序的配置与编译
Apworks使用配置文件来启动整个系统。在上文中也能够看出,WCF服务在启动时,同时也启动了Apworks系统。所以,本节简要介绍这个WCF服务针对Apworks的相关配置节内容。 双击TinyLibrary.Services项目的web.config文件,根据下面的XML代码编辑该文件。 1: <?xml version="1.0"?> 2: <configura
http://cyqdata.cn/cnblogs/article-detail-21045
使用Apworks开发基于CQRS架构的应用程序(六):创建.NET WCF服务
在本节,我们将介绍.NET WCF服务的创建过程。
在Solution Explorer中,右键单击TinyLibraryCQRS,然后选择Add | New Project…菜单,这将打开Add New Project对话框
在Installed Templates 选项卡下,选择Visual C# | WCF,然后选择WCF Service Application,确保所选.N
http://cyqdata.cn/cnblogs/article-detail-21017
使用Apworks开发基于CQRS架构的应用程序(五):命令
客户端程序通过命令告知系统“应该做什么”。事实上,这是一种单向的交互过程,客户端程序仅仅向领域模型发送命令请求,它们并不会通过领域模型来查询某些数据信息。在CQRS架构的应用程序中,“查询”是另一部分的内容,这将在接下来的章节中单独讨论。当应用服务器端接收到来自客户端的命令请求后,就会将这些命令推送到命令总线。命令处理器会侦听命令总线,并相应地处理命令请求。现在,让我们在TinyLibraryCQ
http://cyqdata.cn/cnblogs/article-detail-21016
Web应用架构探索笔记 —— 查询
在Web应用开发中,最常见也容易变化的一种需求是根据不同的查询条件获取数据列表。如何传递查询条件将影响程序应对需求变化的能力,一定要在架构中重点考虑。
开始时我们使用一堆参数传递查询条件,比如:
List<SiteMsg> GetMsgList(int pageIndex, int pageSize, int RecipientId);
结果,每个不同的查询都要写一个接口,产生了一
http://cyqdata.cn/cnblogs/article-detail-15432
发布NGuestBook(一个基于.NET平台的分层架构留言本小系统)
发布NGuestBook的动机说明
大约在半年前,我在博客上发表了一个系列文章:《基于.NET平台的分层架构实战》。当时在讲解过程中用到了一个叫NGuestBook的案例,在那以后,有很多朋友留言或发E-mail希望能得到NGuestBook的完整源代码,以便对照文章研究学习。但是,在当时NGuestBook只是我虚拟的一个案例,并没有成型的系统
http://cyqdata.cn/cnblogs/article-detail-12497
基于.NET平台的分层架构实战(十一)——表示层的实现
在这篇文章中,将讨论一下表示层的实现方法。
表示层是一个系统的“门脸”,不论你的系统设计的多么优秀,代码多么漂亮,系统的可扩展性多么高,但是最终用户接触到的大多是表示层的东西。所以,表示层的优劣对于用户最终对系统的评价至关重要。一般来说,表示层的优劣有一下两个评价指标:
1.美观。即外观设计漂亮,能给人美的感觉。
2.易用。即具有良好的用户体验,用户用起来舒服、顺手。
表示
http://cyqdata.cn/cnblogs/article-detail-11541