随笔分类 -  软件架构

摘要:最近开始了新一轮的换工作历程,投简历也集中在了架构师和项目经理这两个角色中,当然,架构师很多时候跟项目经理,team leader,高级软件工程师是重合的,当然,我指的是国内了,所谓的架构师就是更高级点的软件工程师罢了.尤其是小点的公司,注,没有看不起小公司的意思,毕竟要成本的. 个人从事了软件业也7-8年了,说实在的,cmm3 的软件过程基本了解,做全职的项目经理,可能是欠缺一些.技术上,这些年的积累,凭心而论,也还可以.所以就产生了疑问,我该怎么走呢,真的是出在了抉择的时候,该做什么呢,还是什么也不做,直接转行. 首先,个人的心里,是希望做一名合格的架构师,优秀的,实在不敢说,牛人多... 阅读全文
posted @ 2012-03-28 17:47 似水流年-johnhuo 阅读(8832) 评论(49) 推荐(20) 编辑
摘要:Controller 这一层首先要添加对WCF 的引用:如下,输入我们自己的wcf地址http://localhost:8732/Design_Time_Addresses/InfoPub.BLLService/Service1/mex为了解析嵌套结构的类,我们加入JsonBinderusing System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;using System.Web.Script.Serialization;namespace InfoPub 阅读全文
posted @ 2011-07-24 10:15 似水流年-johnhuo 阅读(996) 评论(1) 推荐(0) 编辑
摘要:BLL层我们用wcf 来提供服务,这一层我们只对外只发布一个服务,为了使我们的代码可维护更好,我们引入抽象工厂模式。这样的话我们首先也创建三个接口:1) IInfo InfoResult Add(Info info);InfoResult Update(Info info);InfoResult Delete(int infoId);InfoList GetInfoList(SearchInfo searchInfo);InfoList GetInfoById(int infoId);2) IInfoType跟上面相同,不再赘述。3) IUserInfo跟上面相同,不再赘述。然后实现这三个接口 阅读全文
posted @ 2011-07-24 10:13 似水流年-johnhuo 阅读(869) 评论(0) 推荐(2) 编辑
摘要:跟model层一样,我们同样可以用动软代码生成器来生成DAL层。这一层主要是数据库的访问,不再多介绍.需要说明的是我们要把微软的SqlHelper类引入我们的项目,这样我们访问数据库用这个类就够了,关于这个类大伙可以参见微软petshop中的SqlHelper类。1. 首先定义接口我们创建三个接口: 1) IInfo InfoResult Add(Info info);InfoResult Update(Info info);InfoResult Delete(int infoId);InfoList GetInfoList(SearchInfo searchInfo);InfoList Ge 阅读全文
posted @ 2011-07-24 10:12 似水流年-johnhuo 阅读(639) 评论(0) 推荐(0) 编辑
摘要:下面开始在我们的解决方案里面增加实体.这一层我个人感觉是跟数据库的映射层次,有了这一层,各层访问数据库会方便很多,不然的话得用DataSet或DataReader的直接访问了。理解为持久化对象就ok了。在这里我们开始使用动软.Net代码生成器,这个网上很多,想使用的下载就可以了,更好的是CodeSmith 只不过这个工具我们需要自定义模板。用代码生成器是为了我们自己一手写重复的代码,仅此而已。安装好动软.Net代码生成器后,进入下面的界面:首先在左边的树菜单新增服务器,如下:选择下一步:输入相对应的服务器,用户/密码,数据库,选择确定即可。然后在左侧新建好的服务器选择连接:选择其中的info表 阅读全文
posted @ 2011-07-24 10:10 似水流年-johnhuo 阅读(620) 评论(0) 推荐(0) 编辑
摘要:由于vs2010 本身不带 mvc3,所以我们需要下载AspNetMVC3ToolsUpdateSetup.exe下载地址如下:http://www.asp.net/mvc安装完成后,即可创建mvc3的项目如下,输入我们的项目名称InfoPub:选择ok,进入下个页面:在这里我们选择Empty,注意默认的其他两个项目模板会自动生成登录,注册相关的一些东东,我们不需要,自动生成的结构如下:系统已经默认帮我们把jquery加入到Scripts下了,这里介绍一下:这里面包括了我们后面要用到的jquery 1.5.1(基本的jquery 1.5.1),jquery validate(验证),jquer 阅读全文
posted @ 2011-07-22 23:03 似水流年-johnhuo 阅读(692) 评论(0) 推荐(0) 编辑
摘要:数据库设计工具我们依然采用Enterprise Architect 7.5 汉化版在这里可以稍微介绍下EA,个人比较喜欢Enterprise Architect ,这个工具比较类似Rational Rose网上有破解版本,它可以支持从需求分析到设计部署的全过程建模上问我们用了它的用例建模,下面我们开始使用它的数据库建模,下面是ea的操作界面:我们双击右边model下的Data model,选择左边Class下的table,出现新建table:这里一个关键的地方是记得选择数据库:我这里选择的是sql server 2005,输入数据名称后,选择Table Detail:选择列/变量:为表定义列名 阅读全文
posted @ 2011-07-22 09:17 似水流年-johnhuo 阅读(874) 评论(0) 推荐(0) 编辑
摘要:最近朋友的公司已经注册完成了,需要我帮它来开发信息发布系统. 我最近在公司做的项目多为微软的mvc 架构的开发,借给朋友做系统的机会,自己也总结一下,也跟大伙分享一下. 首先是工具准备 Enterprise Architect 7.5 汉化版(描述需求和设计) microsoft visio VS2010+SQL SERVER 2008(朋友的网站小access就够了,我本机就用sql server吧) 动软.Net代码生成器+CodeSmith Studio(用于生成一些重复用的代码) 下面描述一下信息发布的需求: 开发这个系统本身是为了朋友公司的网站信息发布,朋友的公司主要是做仪表类的产. 阅读全文
posted @ 2011-07-21 17:19 似水流年-johnhuo 阅读(1829) 评论(2) 推荐(1) 编辑
摘要:InterpreterTemplate Method Chain of ResponsibilityCommandIteratorMediatorMementoObserverStateStrategyVisitor 名称Interpreter结构 意图给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。适用性当有一个语言需要解释执行, 并且你可将该语言中的句子表示为一个抽象语法树时,可使用解释器模式。而当存在以下情况时该模式效果最好: 该文法简单对于复杂的文法, 文法的类层次变得庞大而无法管理。此时语法分析程序生成器这样的工具是更好的选择。它们无需 阅读全文
posted @ 2011-07-14 18:35 似水流年-johnhuo 阅读(551) 评论(0) 推荐(0) 编辑
摘要:名称Adapter结构意图将一个类的接口转换成客户希望的另外一个接口。A d a p t e r 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适用性你想使用一个已经存在的类,而它的接口不符合你的需求。 你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。 (仅适用于对象A d a p t e r )你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口。 Code Examplenamespace Adapter_DesignPattern{ using System; 阅读全文
posted @ 2011-07-14 18:25 似水流年-johnhuo 阅读(424) 评论(0) 推荐(0) 编辑
摘要:为了方便阅读,我把一篇设计模式的资料拆分开发,分为三个大的部分,如下:Factory Abstract FactoryBuilderPrototypeSingleton 名称Factory Method结构意图定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。适用性当一个类不知道它所必须创建的对象的类的时候。 当一个类希望由它的子类来指定它所创建的对象的时候。 当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。 Code Examplenamespace FactoryMet 阅读全文
posted @ 2011-07-14 18:20 似水流年-johnhuo 阅读(680) 评论(0) 推荐(1) 编辑
摘要:http://tech.it168.com/zt/sharepoint/index.html找了找感觉这个比较全,留个记录吧 阅读全文
posted @ 2011-04-09 22:23 似水流年-johnhuo 阅读(133) 评论(0) 推荐(0) 编辑
摘要:单表使用建立一下表CREATE TABLE [dbo].[Employees] ( [Employeesid] [int] IDENTITY (1, 1) NOT NULL , [LogonName] [varchar] (40) COLLATE Chinese_PRC_CI_AS NULL , [LastLogon] [datetime] NULL ) ON [PRIMARY]GO建立一个实体类,代码如下using System;using System.Data;using System.Configuration;using System.Collections.Generic;usin 阅读全文
posted @ 2011-04-09 21:45 似水流年-johnhuo 阅读(182) 评论(0) 推荐(0) 编辑
摘要:高负载、高并发网站架构知识汇总-大流量网站架构的几点认识[其它] post by Wrong-T / 2010-6-7 16:43 Monday一:硬架构 1 :机房的选择: 在选择机房的时候,根据网站用户的地域分布,可以选择网通或电信机房,但更多时候,可能双线机房才是合适的。越大的城市,机房价格越贵,从成本的角度看可以在一些中小城市托管服务器,比如说广州的公司可以考虑把服务器托管在东莞,佛山等地,不是特别远,但是价格会便宜很多。 2 :带宽的大小: 通常老板花钱请我们架构网站的时候,会给我们提出一些目标,诸如网站每天要能承受100 万PV 的访问量等等。这时我们要预算一下大概需要多大的带宽, 阅读全文
posted @ 2011-04-09 21:44 似水流年-johnhuo 阅读(325) 评论(0) 推荐(0) 编辑
摘要:摘要:ActiveRecord在底层封装了NHibernate,在框架启动时需要指定相关的配置信息,那么我们需要配置些什么?又该如何去配置呢?本文将会介绍在ActiveRecord中构建配置信息。主要内容1.需要配置什么2.如何去配置3.常见的配置示例一.需要配置什么在第一篇大家都已经看到了,其实我们的配置信息跟用NHibernate时的配置是一样的,这是因为ActiveRecord在底层封装了NHibernate。为了没有用过NHibernate的朋友,这里再把配置信息简单介绍一下。1.配置NHibernate ADO.NET属性 属性名说明hibernate.connection.prov 阅读全文
posted @ 2011-04-09 21:41 似水流年-johnhuo 阅读(185) 评论(0) 推荐(0) 编辑
摘要:单表使用建立一下表CREATE TABLE [dbo].[Employees] ( [Employeesid] [int] IDENTITY (1, 1) NOT NULL , [LogonName] [varchar] (40) COLLATE Chinese_PRC_CI_AS NULL , [LastLogon] [datetime] NULL ) ON [PRIMARY]GO建立一个实体类,代码如下using System;using System.Data;using System.Configuration;using System.Collections.Generic;usin 阅读全文
posted @ 2011-04-09 21:36 似水流年-johnhuo 阅读(270) 评论(0) 推荐(0) 编辑
摘要:CSLA.NET是一个在分布式计算环境下利用面向对象思想创建业务对象的一个框架。现在已经发布了3.6版本,包括for Windows和for Silverlight,来支持不同的平台。CSLA.NET for Windows 和CSLA.NET for Silverlight共享了许多相通的特性和功能。两个框架实作之间的通用性,能允许在.NET和Silverlight之间,共享业务对象(Business Object)的程序代码,而它们之间的不同就是允许你利用两个不同平台的强大功能。 CSLA.NET是自2001年左右开始,CSLA.NET 3.6是现在最新的版本。在过去八年,该框架已在许多方 阅读全文
posted @ 2011-04-09 21:33 似水流年-johnhuo 阅读(253) 评论(0) 推荐(1) 编辑
摘要:工作描述: 将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划。架构师的主要任务不是从事具体的软件程序的编写,而是从事更高层次的开发构架工作。他必须对开发技术非常了解,并且需要有良好的组织管理能力。 架构师==软件总设计师 开发人员和项目经理之间的共用沟通媒体具体工作内容:第二:审查需求第三:审查技术设计方案第四:负责软件整体设计、关键构件、接口设计、开发规范、开发政策设计;对号提供给团队DEMO;要负责整体设计的性能、可靠性、可维护性、可扩张性第五:详细设计、编码人员的顾问第六:下一个版本的功能、升级的发起和决策人需要技能:第一:技术精通、全面,至 阅读全文
posted @ 2011-04-09 21:30 似水流年-johnhuo 阅读(204) 评论(0) 推荐(0) 编辑
摘要:前言:PetShop是一个范例,微软用它来展示.Net企业系统开发的能力。业界有许多.Net与J2EE之争,许多数据是从微软的PetShop和Sun的PetStore而来。这种争论不可避免带有浓厚的商业色彩,对于我们开发人员而言,没有必要过多关注。然而PetShop随着版本的不断更新,至现在基于.Net 2.0的PetShop4.0为止,整个设计逐渐变得成熟而优雅,却又很多可以借鉴之处。PetShop是一个小型的项目,系统架构与代码都比较简单,却也凸现了许多颇有价值的设计与开发理念。本系列试图对PetShop作一个全方位的解剖,依据的代码是PetShop4.0,可以从链接http://msdn 阅读全文
posted @ 2011-03-26 22:49 似水流年-johnhuo 阅读(897) 评论(0) 推荐(0) 编辑
摘要:1.框架的概要介绍微软刚推出了基于ASP.NET 2.0下的Pet Shop 4, 该版本有了一个全新的用户界面。是研究ASP.NET 2.0的好范例啊,大家都知道,一直以来,在.NET和Java之间争论不休,到底使用哪个平台开发的企业级应用性能最好、结构最优、生产力最高。为了用事实说话,通过对项目各方面的性能评估进而在比较.NET和Java的高下。用户做比较的这个项目就是Petshop。正因为Petshop肩负着上面所说的重任,各方面必须是最优的,架构设计应该是经过慎重考虑的。所以其一经推出,便成为了开发者、架构师等人学习、研究的典范。日前微软推出了基于.NET Framework 2.0开 阅读全文
posted @ 2011-03-26 22:41 似水流年-johnhuo 阅读(290) 评论(0) 推荐(0) 编辑