软件架构师应该知道的97件事
摘要:2011 年终项目总结 2011已悄然逝去,充满未知的2012正等待着我们去探究。为了更好地经营、打造未来的一年,我们有必要对过去一年的经历进行一下总结、反省,因为只有对过去不断地总结与思考,才能从中获得宝贵的经验,为未来的发展做好基础。以下是我2011年的年终项目总结:第一章、团队建设第二章、环境搭建第三章、功能分析第四章、架构设计第五章、迭代开发第六单、内部测试第七章、运维部署第八章、上线准备 PS:给大家分享一下2011年读过的几本书。 三年前,我见证了一家互联网电子商务公司从创业开始到最终结束的整个过程,这家公司失败的根源问题是没有做好产品的推广(money不足)。不过,在整个创...
阅读全文
SAS框架问世
摘要:SAS框架问世 自从上一次写关于ORM的文章已经是几个月前的事情了,在这里先贴一下文章的地址,如果大家感兴趣的话可以去看看。1)、支持差异数据保存的数据库实体类设计——处女作2)、支持差异数据保存的数据库实体类设计(二)(续)3)、支持差异数据保存的数据库实体类设计(三)(续)4)、SAS框架问世(本文) 一直在埋头完善框架,博文自然就写得少了,今天来展示一下自己的框架的用法,先说说本框架的有哪些优点:1)、支持多数据库的ORM。不仅仅只是一套支持多种数据库的ORM,而是可以在同一个应用程序中连接到多个不同的数据库(数据库类别,或者数据库连接字符串的不同)2)、实体类工具生成3)、IOC依赖注
阅读全文
轻轻松松SOA: NServiceBus
摘要:项目介绍:项目名称叫Workflow, 是为一家在荷兰的呼叫中心客户化定制开发一款帮助他们管理工作流的系统。这个系统采用Domain Driven Design作为整个项目的总体设计方案。商业逻辑(business logic)在Domain model实现,Domain model用POCO(plain old c# object)实现,Domain model凭借fluent nhibernate map到数据库。Web部分采用ASP.NET MVC 2.0,StructureMap做为IoC container, 所以在controller里面就可以方便的使用接口I*whatever*S
阅读全文
NServiceBus---最流行的开源企业服务总线AND让创建企业级.NET系统更加容易
摘要:NServiceBus是一个开源的通信框架,它能够帮助开发人员在搭建企业.NET系统时避免很多典型的常见问题。同时,该框架也提供了一些可伸缩的关键特征,比如对发布/订阅的支持、集成的长时间工作流及深入的扩展能力等。据作者说,其本意是为构建分布式应用软件创建一个理想的基础设施。NServiceBus在2006年一月发行了第一个版本,随后在三月份就在一个大型的分布式系统中得到了应用。为此,InfoQ特地找到机会和NServiceBus的原创者Udi Dahan进行了交流。开发缘由:开发NServiceBus的动力主要有两个。首先,我希望让开发人员在使用异步消息传递机制(无论是否使用Web Serv
阅读全文
NServiceBus 开源通讯框架
摘要:概述NServiceBus 是一个用于构建企业级 .NET系统的开源通讯框架。它在消息发布/订阅支持、工作流集成和高度可扩展性等方面表现优异,因此是很多分布式系统基础平台的理想选择。,它能够帮助开发人员在搭建企业.NET系统时避免很多典型的常见问题。同时,该框架也提供了一些可伸缩的关键特征,比如对发布/订阅的支持、集成的长时间工作流及深入的扩展能力等。据作者说,其本意是为构建分布式应用软件创建一个理想的基础设施。NServiceBus的核心并不依赖于MSMQ。NServiceBus可扩展性允许我们插入自行编写的通信传送器,、订阅存储器和工作流的实现。我已经基于MSMQ实现了一个传送器,还有一个
阅读全文
NServiceBus的安装与调试
摘要:概述NServiceBus 是一个用于构建企业级 .NET系统的开源通讯框架。它在消息发布/订阅支持、工作流集成和高度可扩展性等方面表现优异,因此是很多分布式系统基础平台的理想选择。,它能够帮助开发人员在搭建企业.NET系统时避免很多典型的常见问题。同时,该框架也提供了一些可伸缩的关键特征,比如对发布/订阅的支持、集成的长时间工作流及深入的扩展能力等。据作者说,其本意是为构建分布式应用软件创建一个理想的基础设施。NServiceBus的核心并不依赖于MSMQ。NServiceBus可扩展性允许我们插入自行编写的通信传送器,、订阅存储器和工作流的实现。我已经基于MSMQ实现了一个传送器,还有一个
阅读全文
分布式文件系统KFS源码阅读与分析
摘要:当前标签: KFS分布式文件系统KFS源码阅读与分析(四):RPC实现机制(KfsClient端)大圆那些事 2011-12-24 23:35 阅读:744 评论:0分布式文件系统KFS源码阅读与分析(三):RPC实现机制(MetaServer端)大圆那些事 2011-11-07 01:03 阅读:937 评论:0分布式文件系统KFS源码阅读与分析(二):MetaServer元数据持久化大圆那些事 2011-08-28 16:56 阅读:1056 评论:7分布式文件系统KFS源码阅读与分析(一):MetaServer元数据组织结构大圆那些事 2011-08-25 01:59 阅读:1426 评
阅读全文
NServiceBus 一个用于构建企业级 .NET系统的开源通讯框架
摘要:概述NServiceBus 是一个用于构建企业级 .NET系统的开源通讯框架。它在消息发布/订阅支持、工作流集成和高度可扩展性等方面表现优异,因此是很多分布式系统基础平台的理想选择。,它能够帮助开发人员在搭建企业.NET系统时避免很多典型的常见问题。同时,该框架也提供了一些可伸缩的关键特征,比如对发布/订阅的支持、集成的长时间工作流及深入的扩展能力等。据作者说,其本意是为构建分布式应用软件创建一个理想的基础设施。NServiceBus的核心并不依赖于MSMQ。NServiceBus可扩展性允许我们插入自行编写的通信传送器,、订阅存储器和工作流的实现。我已经基于MSMQ实现了一个传送器,还有一个
阅读全文
[开源]KJFramework.Message 智能二进制消息框架 - 新能力!
摘要:框架的介绍:1. 已经完成了对于消息内部类型的支持(int, short, long, uint, ushort, ulong, bool ,float, double, byte, sbyte, byte[], decimal, DateTime, IntPtr, Guid)2. 支持内部序列化元数据(.NET可序列化的对象)3. 对于智能对象内部的“智能对象”提供支持。 支持迭代元数据转换。[说明:]KJFramework框架中内置了一套,可以将网络传输实体自动转换为二进制元数据的能力框架。使用此框架,将使得用户不在关心底层传输时对于二进制编码/解码的繁琐过程,解放程序员的脑力劳动。目前此
阅读全文
Management Console 工具管理类软件通用开发框架(开放源码)
摘要:Management Console ERP项目开发辅助工具 正确的方法+适当的工具使做项目的效率高而且问题少Management Console这个工具已经使用大半年了,期间经历了一些调整和修复。起初它是由一个ORM的扩展工具而来,后来经过众多工具的组合和拼接,逐渐庞大起来。在今年八月份就想到使用一个插件框架来把它们都集成起来,请参考文章《Management Console 工具管理类软件通用开发框架(开放源码)》来了解这个框架,这个框架是开源的,你可以到epn.codeplex.com中获取它的代码。我也用这个框架开发出了Data Loader文档处理程序的主界面,请参考《知识管理系统D
阅读全文
利用wojilu框架仿一个网站的全过程
摘要:被仿的网站和仿照后的网站被仿的网站-易读仿照后的网站-我读为什么要仿这个网站为了实践一下新学习的轻量级asp.net web开发框架[我记录] ,该网站比较简单,适合入门。什么是wojilu框架 ,她的特点是什么 wojilu是一款.net轻量级开源web开发框架,她有以下几个特点:一个持久层框架 wojilu ORM一个轻量级模板引擎 wojilu template一个Web开发框架 wojilu MVC(包括验证码控件、带进度条上传等)具有一个集成了CMS、论坛、SNS、博客、相册、微博等功能的开源的综合Demo,具有很好的示范作用。本系列文章要写什么? 分享自己在利用wojilu框架..
阅读全文
AnyWise企业级快速开发框架开篇
摘要:为什么要使用框架? 因为软件系统发展到今天已经很复杂了,特别是服务器端软件,设计到的知识,内容,问题太多。在某些方面使用别人成熟的框架,就相当于让别人帮你完成一些基础工作,你只需要集中精力完成系统的业务逻辑设计。而且框架一般是成熟,稳健的,他可以处理系统很多细节问题,比如,事物处理,安全性,数据流控制等问题。还有框架一般都经过很多人使用,所以结构很好,扩展性也很好,而且它是不断升级的,你可以直接享受别人升级代码带来的好处。 框架一般处在低层应用平台和高层业务逻辑之间的中间层。 衡量应用系统设计开发水平高低的标准就是:解耦性;你的应用系统各个功能是否能够彻底脱离?是否不相互依赖,也只有这样,才能
阅读全文
Moon.NET框架架构及介绍
摘要:企业开发宗旨在于高效与便捷以及系统升级与维护的稳定.此框架为此而架构设计,目标在于打造一个高效能的.NET开发框架。Moon.NET由两部分组成:Qin.Data(一个高性能的ORM系统,其特色是提供便捷的开发和高效的数据库访问性能以及方便便捷的系统升级,内含代码生成器、代码自动编译);Qin.Web(一个快速的ASP.NET服务端框架,内含一个前端js脚本一引擎[有了它,你只需专注于业务逻辑,几乎绝大部分代码由引擎生成]、以及实现权限认证的AOP方案和一个前端UI库).其中的Qin.Data已被用于合富网络有限公司的数据层取代原有的实体框架. Qin.Data的相关介绍 背景公司的项目开..
阅读全文
PetShop4.0 学习总结----数据库访问层结构分析
摘要:最近在看PetShop4.0 ,暂且熟悉了一些数据库层的设计。看了看,其实也不是很复杂。主要就是使用了一个工厂 ,以及一个IOC以来注入。我所画的类图如下(不是很标准,自己的UML 水品一般。。。)其中的web.config是我自己天上去的,主要就是为了说明一下IOC的问题。其中的Model主要定义了一些实体类。IDAL提供了数据库访问层的抽象,分别有SQLDAL 和OracleDAL去实现。DALFactory是一个反射工厂,通过读取配置文件中的配置,判断使用的那个DAL,然后利用反射生成相应的IDAL实例。DALFactory代码如下 public sealed class DataAcc
阅读全文
MVC vs. MVP vs. MVVM
摘要:1 简介 原文地址: 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模式实现,View使用Composite模式,V
阅读全文
.net架构
摘要:箴言1--凡事无绝对凡事无绝对。作为架构师,你永远不会对任何事有百分之百的把握,你永远无法面面俱到。不过在这个位置上,你必须评估所有的可选方案,并做出有足够预见性的正确决策。你需为自己争取一些时间,以便慢慢思考,因此首先说"凡事无绝对“,然后解释为什么是这样,变数有哪些。若你还不确定有哪些变数,那么可以选用这个通用的回答----“这取决于上下文”。箴言2--需求是超越一切存在的架构仅仅是软件 项目中一个自的链接部分。客户将说出他们需要什么,若是客户不清楚自的需,那么会有人引导直至得明确的答案,这是分析师的职责。项目经理将为这个已经正式确定的项目安排基础设施。架构师会得到所有的需求,并
阅读全文
我对架构的理解
摘要:这两天和一朋友讨论这样一个问题:你认为公司的架构怎样,有哪些缺点? 其实在回答这个问题之前,有一些概念需要搞清楚,那就是什么是架构? 目前对于架构还并未有一个统一的标准及定义,所以架构的概念就会因为每个人不同而不同,如果尝试问一百人关于架构的理解,可能有一百个答案。 我开始做基础架构到现在已经有两年时间了,但对架构的理解也并不深,有时感觉无从说起,总觉的是一个无形的东西。下面我就总结下我个人对架构的理解,下面纯属个人理解。 第一:架构分层,这里我将架构分为以下两层: 1:基础架构,这也是由于架构本身的一大特点,具备基础性,它的基础性可以这样理解:通常涉及解决各种关键问题的通用方案,即重用性概念
阅读全文
架构
摘要:设计恰如其分的架构Thoughtworks的Sam Newman在Mythoughtworks的Software Development小组中给出了Evolutionary Architecture的一些资源。其中一个是Martin Fowler与Rebecca Parsons在QCon SF 2009的一次演讲,题目为Agilists and Architects: Allies not Adversaries Presentation。演讲主要谈到了在敏捷方法中的架构活动(在Martin Fowler的演讲中,播放了黑客帝国中的一个片段,很有意思)。另一个资源则是同样作为thoughtwo
阅读全文
框架的目标与解决的问题
摘要:在软件开发实践过程中,我们遇到各种各样的问题,有些是软件工程方面,有些是开发技术方面的,有些是人员组织方面的,问题各种各样,不一而足。所有从事开发或项目管理的软件公司都想找到一个软件开发的“银弹”,全面解决用户需求不断变化,开发时间一托再延的问题,要解决这些问题,各个公司都进行了尝试,形成了自己的开发模式及管理方法,在特定的领域内得到了应用与发展。一般我们说拿出解决方案,首先应确认要解决的问题是什么,没有明确的目标容易在寻找解决方案的过程中迷失方向。3.1我们开发的软件是什么样的软件?软件即以特定计算机语言编写,为解决特定问题而开发的计算机工具,软件分为系统软件(操作系统、数据库系统)与应用软
阅读全文
微软MSF
摘要:学习资源:http://www.cnblogs.com/umlonline/archive/2011/07/25/2116121.html心得体会:在学习MSF这篇网络资源前,谈一下自己对MSF的认识。MSF最初第一印象,就是微软解决方案框架结构,即Microsoft Solutions Framework,早期,因此我延伸出自己的一套ZSF (Zivsoft Solutions Framework),智艾悦软件解决方案框架结构。在我最初的理解,它就是一些框架,然后延伸出各种各样的解决方案。以上是我没看Fireball学习资源的简要印象,当我打开Faireball这篇《超越MSF -视频分享第
阅读全文