没头没尾--项目开发笔记 C#企业级模板理解 (转)

没头没尾--项目开发笔记 C#企业级模板理解 (转)[@more@]

标题:没头没尾--项目开发笔记

关键词:分布式开发 C# 项目分工

  11月19号:下午,天气不冷肚子痛

从本质上来说…………,我其实也不清楚C#比Java有什么提升。宣传的材料上或网站上写的多好多好,从书店买的书看了看也没看好有什么特别的地方。都是一大堆的类继承来继承去的。管它的,先做出来东东再说。

接着上午的写吧。我想首先对C#的企业级分布式的模板简单的说一下。

下面的理解都是我已经忘记是看谁的例子的理解的了,也许是microsoft的宠物店例子,也许是别人写的工程。说的不对的地方兄弟们可以指。

C#的企业级的模板上来就会生成下面七个工程:

1.  DataAccessProjects

数据连接的部分。也就是我们公司讨论中号称的DO层。(Data object)。我认为在这个层写程序的原则很简单,就是除了这里,其它的地方都不用直接去写sql语句。或者直接调用存储过程的方法。实现上没有什么好说来,来来去去都是些System.Data中间的对象

2.  BusinessfacadeProjects

OK,这个层就比较的有意思了,我和兄弟部分的同仁一直都在讨论这一层与下面那个Rules层有什么区别。(不要笑话罗)。这里面还有些曲折。一开始我们用的是VS.NET的英文版,然后我们就天天吵来吵去,比如我一开始就认为这个层是业务规则的封装,那么对于基础的数据操作就应该放在这里。比如基础信息的新增,修改,删除之类的。只有在删除时需要从其它的表来判断删除操作是不是可以做的时候。才会在Rules层生成一个类,来判断一下。或者是有什么事务要进行处理的时候才去用BO。反正一开始都糊涂J,后来有一天,我们搞到了中文版本后,突然发现这个FACADE叫业务外观层。那么就是说所有的业务都不能在这里面做。而是将所有的对DO的操作都封装在这个里面。FACADE层真正成为一个(业务外观)

3.  BusinessRulesProjects

这一层是真正意义上的Business Object,也就是说,三层结构中对应的BO放在这个地方。

4.  SystemframeworksProjects

这一层放置的是系统对象,比较对安全处理的统一封装。(这部分在一开始的时候没有怎么用,后来在使用web Service的时候把Application与Session的对应对象的统一处理放在这里,而不是放在Web Service层。)

5.  webserviceProjects

没说的,web service文件放置的地方。

6.  WebUIProjects

ASP.NET文件放置的地方。

7.  WinUIProjects

WinForm放置的地方。

这个是自动生成的企业分布式应用的结构。最初我们对这个东东的理解是非常差的,觉得一件这个简单的事情为什么要搞的这个复杂。在慢慢的开发过程中渐渐的体会一些好处。我先不说具体的好处。先把我从中体会出来的一些想法与大家分享:

l  为什么可以这样写程序

我想这个原因实在是太简单了,硬件的技术进步了。哈,硬件的进步让程序员可以不用从头来写程序。如果说以前写100句代码可以完成其它人写1000句代码的功能,大家会认为你是高手,可是现在你在跟C#的例子可以发现,一条判断语句的执行可能要经过十多级继承关系的调用。大家都是低手?程序员要写的代码是比较少了。可以程序员写的代码减少不意味真正代码执行比以前少了。(为了提交对数据库一张表的修改,我的程序调用了近十个类来实现。如果是以前,一定被人骂死。)

l  为什么要这样写程序

这个问题是一个很难回答的问题。但是最初的想法其实这种开发的方式是以效率降低换来开发的高效率。我不是很清楚网上说的可以用几个星期的时间来做出一个系统是怎么回事,不过的确是可以利用这种方式来很好的进行人员的分工,以及对开发过程的改造。这个说起来比较麻烦。回头再说:)

l  如果这种方式只是软件工程发展的一个阶段,那么下一个阶段会是什么?

Very Clear.下一个阶段一定是大批的程序员都失业。要不就改名字。叫什么架构师,分析师之类的。

l  那我应该怎么办?

不知道。好好干活吧(写到这里心情巨差,真不知道以后可以干什么。)

 XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

下一节写我们项目对企业级模板的一些改造。这些改造我想也是基于对新技术运用的一些思考之后做出的。。希望大家感兴趣。

 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752019/viewspace-975388/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752019/viewspace-975388/

课程通过实际项目融入常用开发技术架构,讲授风格独特,提供详细上课日志及答疑,赠送配套的项目架构源码注释详细清晰且表达通俗,均能直接在实际项目中应用,正真的物超所值,价格实惠任务作业:综合运用《C#/.Net企业级系统架构设计实战精讲教程》课程所学知识技能设计一个学生成绩管理系统的架构。要求:1.系统基于MVC的三层架构,各层单独建不同的解决方案文件夹。2.采用Model First开发方式,设计架构时只需要设计学生表(TbStudent)和课程表(TbCourse)。学生表必须有的字段是ID、stuName、age;课程表必须有的字段是ID、courseName、content。3.数据访问层采用Entity Framework或NHibernate来实现,必须封装对上述表的增删改查方法。4.必须依赖接口编程,也就是必须要有数据访问层的接口层、业务逻辑层的接口层等接口层。层层之间必须减少依赖,可以通过简单工厂或抽象工厂。5.至少采用简单工厂、抽象工厂、Spring.Net等技术中的2种来减少层与层之间的依赖等。6.封装出DbSession类,让它拥有所有Dal层实例和SaveChanges方法。7.设计出数据访问层及业务逻辑层主要类的T4模板,以便实体增加时自动生成相应的类。8.表现层要设计相关的控制器和视图来验证设计的系统架构代码的正确性,必须含有验证增删改查的方法。9.开发平台一定要是Visual Studio平台,采用C#开发语言,数据库为SQL Server。10.提交整个系统架构的源文件及生成的数据库文件。(注意: 作业需写在CSDN博客中,请把作业链接贴在评论区,老师会定期逐个批改~~)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值