随笔分类 -  Asp.Net大型项目实践

1

对面向接口编程、按分层建项目的反思和新的分层结构思路
摘要:本着每隔一年就得折腾一个新框架的习惯,近期对以前框架繁琐的结构进行了一些反思,加上打算新框架放弃使用EXTJS,也深入研究了下Asp.net MVC 4。在此给大家汇报一下。 阅读全文

posted @ 2013-08-13 14:41 传说中的弦哥 阅读(9114) 评论(60) 推荐(17) 编辑

Asp.Net大型项目实践(13)-尽可能的去掉项目中的大量XML配置文件
摘要:在此系统的项目中我们采用NHibernate实现了ORM;采用Unity来实现了DI和AOP。这2个技术方案应该说都很不错。但随之而来的是,在较大规模系统中产生了大量的XML配置文件。 在我们的实际开发中发现编写和存在大量的XML配置文件有以下几点不利: 阅读全文

posted @ 2011-03-21 16:01 传说中的弦哥 阅读(11714) 评论(26) 推荐(11) 编辑

Asp.Net大型项目实践(12)-商业项目上线报告
摘要:打算把这一年间对此系列的完善更新和实际项目操作中遇到的问题和心得和大家分享,具体项目是一个较为复杂的医院信息管理系统,有图有真相...... 阅读全文

posted @ 2011-03-19 16:00 传说中的弦哥 阅读(14671) 评论(56) 推荐(14) 编辑

Asp.Net大型项目实践(11)-基于MVC Action粒度的权限管理【续】【源码在这里】(在线demo,全部源码)
摘要:接上篇Asp.Net大型项目实践(10)-基于MVC Action粒度的权限管理(在线demo,全部源码) 在线Demo: 地址:http://218.60.8.35:1234/ 服务器:网通 端口:不要禁用1234端口应该就可以访问 注意:连了数据库的,时间仓促肯定有漏洞,不要捣乱哈:) 登录用户: 1.用户名:牛头人战士 密码:000000 权限:有全部菜单页面,不能进行数据库的更改操作(不影响录入体验)       2.用户名:老虎MM 密码:000000 权限:少两个菜单页面,不能进行数据库的更改操作(不影响录入体验)       3.用户名:admin 密码不公开 权限:所有权限       注:以上的实现都是通过权限管理s配置出的哈,没有任何硬编码 阅读全文

posted @ 2010-01-25 08:44 传说中的弦哥 阅读(62108) 评论(156) 推荐(84) 编辑

Asp.Net大型项目实践(10)-基于MVC Action粒度的权限管理(在线demo,全部源码)
摘要:  权限管理是个老生常谈的功能,我看博客园也有不少“高手”写了相关的文章,但大多不是空谈理论,就是做的十分傻瓜和玩具差不多没有真正项目实用性。少数基于RBAC的看设计还可以,但半遮琵琶半遮面的,谈到关键实现就阳痿,生怕别人学到似的。   权限管理是每个项目都要用到的,但一般想写好也有一定难度。所以不少人动不动就想做所谓“通用权限管理”,但基本我看都是雷声大雨点小。弦哥也写过所谓通用权限 ,什么基于RBAC,什么资源+操作=权限。搞来搞去灵活是灵活了,结果配置十分复杂在项目中使用并不理想,再加上“通用”二字,那就必须要独立于平台技术和项目,实现解耦,而权限是经常都需要访问的,所以数据传输,效率也成了大问题。   而且通用权限的需求是非常多的,一般很难想全,我看园子里吉日大哥虽然技术不咋地,但征集权限需求这个路子还是对的,至少比有些人随便写个玩具就敢号称“通用权限”来的好些。   BB了这么多,来说说我的权限管理吧,正如上面所说我基本放弃搞所谓通用权限了,在吉日大哥非常牛X非常通用的权限管理出来之前。我觉得针对不同项目特点写不同的权限管理功能还是目前比较可行办法。所以我的 阅读全文

posted @ 2010-01-22 06:50 传说中的弦哥 阅读(41463) 评论(97) 推荐(39) 编辑

Asp.Net大型项目实践(9)-ExtJs实现系统框架页(非iframe,附源码,在线demo)
摘要:  本篇我们来做系统的框架页,并用EXT的“load”方式实现单页渲染。使整个应用程序就是一个单页,而非iframe实现的框架页,这样那些引用的繁杂JS库只需加载一次即可,而无需每个功能页都重新加载一边所有引用JS,从而大大提高了效率,杜绝了内存溢出错误。国际惯例先看效果图: 阅读全文

posted @ 2010-01-19 09:31 传说中的弦哥 阅读(41832) 评论(58) 推荐(15) 编辑

Asp.Net大型项目实践(8)-从最简单开始一个ExtJs做的登录页(附源码,在线demo)
摘要:前段时间工作比较忙没有及时更新,这里先向关心本系列的朋友说声抱歉,同时感谢大家的支持与砖头,大家的关注就是我写下去的动力,保证绝不太监!哈哈...搞了那么长时间的后台,大家可能觉得有点没底,到底这玩意儿做出来能是啥样的,run起来是啥效果?有了前面的系列作为铺垫,从这篇开始我们每一篇都会是一个完整的功能应用!   本篇我们用一个登录窗口的应用来简单说明如何在我们的项目中将Asp.net MVC与EXTJS整合运用(注:Asp.net MVC与EXTJS整合有很多技术细节需要关注,本篇只是一个最简单的应用,勿只看了本篇就盲目在项目中运用,具体的诸多细节和技术解决方案后面会写),按照国际惯例先看看效果吧: 阅读全文

posted @ 2010-01-18 22:52 传说中的弦哥 阅读(25410) 评论(24) 推荐(10) 编辑

Asp.Net大型项目实践(7)-用Unity实现AOP之事务处理+为啥要用AOP(附源码)
摘要:在目录中我计划对权限管理,异常管理,事务管理,日志管理,异常管理等项目中AOP典型应用场景进行详细的描述,本篇我们用Unity的Interception来实现项目中的事务处理。 为啥要用AOP 由于这是第一篇写关于AOP的场景,所以我觉得有必要通俗的说明一下在项目中使用AOP的好处。按照弦哥的惯例,关于AOP大套的理论大家自己去google吧,我下面举一个通俗的例子来说明。比如在项目中我们有一个业务逻辑的方法... 阅读全文

posted @ 2010-01-08 08:43 传说中的弦哥 阅读(23297) 评论(37) 推荐(15) 编辑

Asp.Net大型项目实践-关键技术方案选择理由及思路
摘要:虽然我不喜欢讨论太多理论概念上的东西,但各位“砖家”还是提出了很多非常有针对性的意见,望此帖不要成为口水战才好....现答疑如下(有很多个人理解,不一定正确) 阅读全文

posted @ 2009-12-30 10:23 传说中的弦哥 阅读(22728) 评论(48) 推荐(21) 编辑

Asp.Net大型项目实践(5)-独家资料!整合NHibernate与Json序列化(附源码)
摘要:注:之所以标题里写独家资料,是我在研究这个问题的时候貌似没有在网上找到相关的解决方案(有也是错的..),自己折腾了半天才搞出来,如果大伙有更好的办法或能找到已有的解决办法可以告诉我 我去掉... 接上篇,通过NHibernate我们多表查询是实现了 但由于查询出来的集合中的对象“不是平的”,如何在送到UI绑定成了问题。ExtJs UI组件的数据绑定支持多种格式,如简单数组,Json,Xml。在本项目中我们统一,服务器端通过Json把数据传输到Ext进行解析和绑定。 阅读全文

posted @ 2009-12-29 23:16 传说中的弦哥 阅读(12913) 评论(21) 推荐(2) 编辑

Asp.Net大型项目实践系列导航
摘要:关键字NHibernate,ExtJs,Asp.Net MVC,Unity,业务领域驱动DDD,SOA,WCF,WF,分层开发,权限管理,异常管理,事务管理,日志管理...宣传语这里没有无聊的口水战...这里没有浅尝辄止的“入门教程”...这里没有故弄玄虚的“思想家”,“理论家”,“术语玩弄家”...这里没有“高深”的技术细节...如果你对上面的关键字的了解还只停留在别人只言片语的断言...如果你看了几遍设计模式还不知道在实际项目中到底有啥用...如果你还觉得Asp.net只是简单的拖拖拽拽...如果你正在苦于如何突破“小程序员”的瓶颈...如果你想学习流行的开源框架,却看的云里雾里,不知从何 阅读全文

posted @ 2009-12-29 12:45 传说中的弦哥 阅读(34792) 评论(82) 推荐(43) 编辑

Asp.Net大型项目实践(4)-用NHibernate保存和查询我们的业务领域对象之多表关联查询(附源码)
摘要:  NHibernate的多表关联查询做的还是很不错的,除了比较BT的报表查询,一般业务所需的多表查询基本都能满足,且效率也还算不错,NHibernate多表查询在数据库访问层上其实比较简单。反而难点在于如何把查询出来的多层对象不转换成DTO,直接传输到UI进行绑定,本篇会简单说明一下,到后面讲展现层的时候会详细描述(注:关于DTO的使用和利弊这里不多加讨论,在本系统中的设计原则是尽量避免使用DTO)。 依然还是接之前字典维护的例子,我们需要在字典项目的表格里显示一列“类别”即字典项目所属字典类别的名称,这个字段在字典项的表是不存在的,需要关联查询字典类别表才能得出。如下图(由于存在项目客户实际数据,所以我图改了一些...) 阅读全文

posted @ 2009-12-25 19:51 传说中的弦哥 阅读(9584) 评论(7) 推荐(3) 编辑

Asp.Net大型项目实践(4)-用NHibernate保存和查询我们的业务领域对象之多条件组合查询(附源码)
摘要:上篇介绍了在系统表格查询中的分页和排序,而在实际业务中客户往往需要灵活的多条件组合查询,如果比较没技巧的针对每个表格写不同的组合查询代码和界面无疑工作量是比较大的,在此我们使用EXT的GridFilters插件结合后台的NHibernate争取用一种统一简便的方法去实现,如下图: ... 大家可以看到支持多种数据类型,还有一些其他数据类型如日期型,bool型 因界面关系就不贴出来了,这样客户通过表格的列头几乎可以满足所有的组合查询需求,同样在本篇我们只实现数据访问层,UI层的实现以后讲解。 阅读全文

posted @ 2009-12-25 17:02 传说中的弦哥 阅读(8802) 评论(9) 推荐(3) 编辑

Asp.Net大型项目实践(4)-用NHibernate保存和查询我们的业务领域对象之分页与排序(附源码)
摘要:接上篇,在本篇中我们将实现下图中的分页和排序功能,UI层的实现以后我们会讲到,本篇只实现数据访问层... 阅读全文

posted @ 2009-12-25 17:01 传说中的弦哥 阅读(10198) 评论(10) 推荐(1) 编辑

Asp.Net大型项目实践(4)-用NHibernate保存和查询我们的业务领域对象之实现基本的数据库访问(附源码)
摘要:接上篇,完成NHibernate的Session管理和初始化之后,现在可以完成我们的数据库访问基类RepositoryNhbImpl了 RepositoryNhbImpl数据库访问基类代码: 阅读全文

posted @ 2009-12-25 11:57 传说中的弦哥 阅读(11009) 评论(11) 推荐(3) 编辑

Asp.Net大型项目实践(4)-用NHibernate保存和查询我们的业务领域对象之NHibernate的Session管理与初始化(附源码)
摘要:NHibernate的Session和Asp.Net的Session是两码事,大家不要混淆了。NHibernate的Session是拿来干啥的?对用用过Linq2Sql的同学,可以把它理解成DataContext。要被持久化的对象都要放在Session里托管。Session同时也是一个缓存,比如在一定范围内你通过NHibernate ,Get了一个User ,当你再次Get同样的这个User的时候NHibernate就不会去操作数据库,而会直接从Session缓存中取出第一次获得的User。 阅读全文

posted @ 2009-12-25 09:55 传说中的弦哥 阅读(13460) 评论(10) 推荐(4) 编辑

Asp.Net大型项目实践(4)-用NHibernate保存和查询我们的业务领域对象
摘要:关于NHibernate的相关资料不是很多,关于它在.Net项目中的实际应用的资料就更少了,在开始用NHibernate的时候也走了不少弯路,到现在自我感觉能在项目中合理应用NHibernate了 阅读全文

posted @ 2009-12-24 21:29 传说中的弦哥 阅读(15132) 评论(9) 推荐(5) 编辑

Asp.Net大型项目实践(3)-业务领域对象建模
摘要:你是不是已经厌倦了和数据库表一一对应的Model或Entity? Ok~我们现在尝试真正的用面向对象的思想去设计我们的业务实体类吧.... 阅读全文

posted @ 2009-12-24 19:33 传说中的弦哥 阅读(18056) 评论(19) 推荐(11) 编辑

Asp.Net大型项目实践(2)-新建项目及分层(附源码)
摘要:开发环境准备... Microsoft Visual Studio 2008 Microsoft Visual Studio 2008 Sp1(补丁) Microsoft ASP.NET MVC 1.0 阅读全文

posted @ 2009-12-24 16:59 传说中的弦哥 阅读(23469) 评论(16) 推荐(9) 编辑

Asp.Net大型项目实践(1)-项目背景
摘要:前言   有感于网络上的技术文章大多是针对具体技术的讲解和demo,很少有各种技术整合在一个较大项目应用的例子,所以打算写这么一个系列,希望对大家有所帮助,因为里面很多东西也是自己根据实际项目经验琢磨出来的,不一定都是正确的,所以也希望大家指出其中的错误和问题。因为平时工作繁忙,也从来没有写过博客,可能排版啥的不是很地道,大伙凑合看吧。   另外需要注意的是 这个项目的框架设计和技术解决方案的应用是为较复杂的信息管理系统设计的,不是很适合小项目或网站项目,希望大家看清楚项目背景,勿盲目效仿。 业务概况 大型三甲医院信息管理系统。 特点: 业务复杂多变 模块众多,可灵活分合 日门诊量1w B/S结构且对界面交互性极高 对系统稳定性和可扩展性要求较高 阅读全文

posted @ 2009-12-24 16:36 传说中的弦哥 阅读(17322) 评论(28) 推荐(12) 编辑

1

导航