随笔分类 - 软件架构与设计
摘要:哈哈,昨天没事做,在CodeProject瞎逛,偶然看到这篇文章,居然读得懂,于是就翻译了一下,当练习英语,同时增强对文章的理解,发现再次翻译对于文章的一些细节问题又有更好的理解。下面是翻译内容,虽然翻译出来后很像小学生写作文,读起来很拗口,希望大家多多提出宝贵意见,谢谢。 原文地址: http://www.codeproject.com/KB/aspnet/BestPrctice1.aspx...
阅读全文
摘要:1、NBearV3 Step by Step教程——ORM篇 摘要:本教程演示如何基于NBearV3的ORM模块开发一个Web应用程序的全过程。本教程演示的实体关系包括:继承、1对1关联、1对多关联,多对多关联。同时,本教程还演示如何设计实体属性为nullable类型或符合类型。通过本教程,读者应能够掌握使用NBearV3的ORM模块进行应用程序设计的基本过程,以及开发过程中,NBearV3提供的相关工具的使用方法。 2、NBearV3 Step by Step教程——ORM进阶篇 摘要:本教程在前一篇《NBearV3 Step by Step教程——ORM篇》的基础上,演示前文中...
阅读全文
摘要:反转控制(IOC)和面向切面编程(AOP)技术作为当前比较流行的技术,其优势已受到广泛关注,但是这两项新技术在实际项目上的应用研究却很落后,而且在。NET平台下实现这两项技术没有形成可以广泛套用的框架,使得开发人员在。NET平台下应用IOC和AOP技术的难度和成本大幅度提高。Castle提供了。NET平台下开发IOC和AOP技术的框架,一定程度上解决了开发人员的难题,但是如何高效地实现IOC和AOP技术的开发,至今无人提出较好的建议。DOTNET就是。NET, 严格说是:.Net Framework框架 .但为什么叫DOTNET(。NET)呢?在计算机行业DOT是Distributed Obj
阅读全文
摘要:MyGeneration的几个NHibernate模板功能已经很强,但还是存在些问题。例如:Guid主键支持不佳,代码不易修改,不支持中文注释等等。所以我决定自己来改写此模版。我把一部分通用的函数提取到自己定义的基类中,这样调试和修改都方便另外增加了一部分新功能。NHibernate里面的关系写起来也很烦人,很容易出错,所以我写了另一个模版专门生成关系代码。只需要把生成的代码拷到映射类文件和.hbm.xml文件中就可以了。下载 如果你兴趣自己写模版,或者使用中有问题可以查看强大的代码生成工具MyGeneration 。使用中发现什么问题,或者是有什么好的意见建议请及时和我联系。十分感谢!下载完
阅读全文
摘要:来源:互联网winform程序相对web程序而言,功能更强大编程更方便,但软件更新却相当麻烦,要到客户端一台一台地升级,面对这个实际问题,在最近的一个小项目中,本人设计了一个通过软件实现自动升级技术方案,弥补了这一缺陷,有较好的参考价值。一、升级的好处长期以来,广大程序员为到底是使用Client/Server,还是使用Browser/Server结构争论不休,在这些争论当中,C/S结构的程序的可维护性差,布置困难,升级不方便,维护成本高就是一个相当重要的因素,也是那些B/S支持者们把Client/Server结构打入地狱的一个重要原因。现在好了,我们就在最新的基于Microsoft的WinFo
阅读全文
摘要:一、实体类是现实 实体在计算机中的表示。 它贯穿于整个架构, 负担着在各层次及模块间传递数 据的职责。一般来说,实体类可以分为“贫血实体类”和“充血实体类”,前者仅仅保存实体的 属性,而后者还包含一些体间的关系与逻辑。我们在这个 Demo 中用的实体类将是“贫血 体类”。 大多情况下, 实体类和数据库中的表 (这里指体表, 不包括表示多对多对应的关系表) 是一一对应的...
阅读全文
摘要:Castle是针对.NET平台的一个开源项目,从数据访问框架ORM到IOC容器,再到WEB层的MVC框架、AOP,基本包括了整个开发过程中的所有东西,为我们快速的构建企业级的应用程序提供了很好的服务。4月份以来,Terrylee写了一系列的Castle的文章,这里做一下总结,后续还有Facility系列等,本部分内容会不断的更新。 第一部分:ActiveRecord学习实践系列 1.Castl...
阅读全文
摘要:在.NET平台下,关于数据持久层框架非常多,本文主要对如下几种做简要的介绍并推荐一些学习的资源: 1.NHibernate 2.NBear 3.Castle ActiveRecord 4.iBATIS.NET 5.DAAB 附加介绍:DLinq 一.NHibernate 提起NHibernate,相信大家都不陌生,NHibernate来源于非常优秀的基于Java的Hibernate关系型持久化工具,它从数据库底层来持久化.Net对象到关系型数据库,NHibernate为我们完成这一切,而不用自己写SQL语句去操作数据库对象,所写的代码仅仅和对象关联,N...
阅读全文
摘要:一。使用配置工具1.单独使用配置工具。 开始->所有应用程序->Microsoft patterns & practices->Enterprise Library 5.0->Enterprise Library Configuration 选择相应的版本,弹出配置窗口。可以新建或打开编辑已有的配置文件。 在blocks中可以选择相应的模块配置,wizards可配置数据库异常日志记录,配置完成后保存即可。 2.在vs中,点击config文件,右键可用Enterprise Library V5 Configuration Editor编辑,也可选择打开方式将其设为
阅读全文
摘要:在前一篇文章:[EntLib]微软企业库5.0 学习之路——第二步、使用VS2010+Data Access模块建立多数据库项目中我们搭建好了项目的整体多数据库环境,实现了项目的多数据库访问,而整个项目中最主要的异常处理却没有进行部署,今天我们就使用企业库中的Exception Handling+Logging模块为项目加上异常处理以及异常日志记录。 (注:关于Exception Hand...
阅读全文
摘要:1.依赖 依赖就是有联系,有地方使用到它就是有依赖它,一个系统不可能完全避免依赖。如果你的一个类或者模块在项目中没有用到它,恭喜你,可以从项目中剔除它或者排除它了,因为没有一个地方会依赖它。下面看一个简单的示例: /// /// 用户播放媒体文件 /// public class OperationMain { public void...
阅读全文
摘要:1.引言 高内聚,低耦合成为一个OO架构设计的一个参考标准。高内聚是一个模块或者一个类中成员跟这个模块或者类的关系尽量高,低耦合是不同模块或者不同类之间关系尽量简单。 拿咱国家举例来说,假如你是中国人。 高内聚:就是说你跟中国亲,关系好,国家会保护你。 低内聚:就是说你跟中国的关系不好,那还怎么混,改天就要批斗你,你就是个问题源。 低耦合:就是说你跟日本的关系非常正常,非常简单,这样的话,就不会...
阅读全文
摘要:1 《解剖PetShop》系列之六 PetShop之表示层设计 http://ityup.com/showtopic-8.html 2 《解剖PetShop》系列之五 PetShop之业务逻辑层设计 http://ityup.com/showtopic-7.html 3 《解剖PetShop》系列之四 PetShop之ASP.NET缓存 http://...
阅读全文
摘要:微软stringradiobuttonnullexceptiondataset一般我们都采用分层架构,先思考业务,要解决什么样的业务问题,再去思考技术实现。l 正向思维:界面(UI)—>业务逻辑(BLL)—>数据逻辑(DAL)—>数据实体(Model)—>数据存储(Db)l 反向思维:数据存储(Db)—>数据实体(Model)—>数据逻辑(DAL)—>业务逻辑(BLL)—>界面(UI)。从数据库推导到界面,从界面推导到数据库。搞清楚类之间的关系。数据之间传递关系。界面(UI):由控件组成。系统与用户交互的窗口。业务逻辑(BLL):封装业务处理功能
阅读全文
摘要:话说在大学的时候帮老师做项目的时候就已经接触过企业库了但是当初一直没明白为什么要用这个,只觉得好麻烦啊,竟然有那么多的乱七八糟的配置(原来我不知道有配置工具可以进行配置,请原谅我的小白)。 直到去年在做项目的时候在看代码生成工具的时候看到了许多生成工具都内置了企业库的数据库访问及一些相关模块,才突然顿悟了,可能企业库应该还是有点用的,于是就试着使用了企业库的一些模块(当时版本是4.1),果然觉得企业库还是很不错的,微软在企业库中为我们封装了许多日常经常使用的模块,如:数据库访问,缓存,日志,异常处理,加密,IOC等等,在日常的项目开发中,企业库已经贯穿了一个项目从底层到表示层基本上需要用到的.
阅读全文
摘要:在互联网行业,基于Unix/Linux的网站系统架构毫无疑问是当今主流的架构解决方案,这不仅仅是因为Linux本身足够的开放性,更因为围绕传统Unix/Linux社区有大量的成熟开源解决方案,覆盖了网站应用扩展的方方面面。AD:2013云计算架构师峰会超低价抢票中在互联网行业,基于Unix/Linux的网站系统架构毫无疑问是当今主流的架构解决方案,这不仅仅是因为Linux本身足够的开放性,更因为围绕传统Unix/Linux社区有大量的成熟开源解决方案,覆盖了网站应用扩展的方方面面。我记得十几年前第一波互联网浪潮的时代,采用Windows平台ASP架构的大型网站是非常普及的,而如今采用Windo
阅读全文
摘要:2007-05-15 08:34:11| 分类: 转贴部分 | 标签:学习帖子 |字号 订阅习惯了用Powerdesigner设计数据库模型,XDE设计类图。因此我一般的设计方法是用PD做分析模型,然后,用分析模型生成数据库物理模型和C#代码,再用XDE从C#代码中反向工程生成XDE模型。但是在今天生成代码时发现一个小小的问题:在PD生成代码时,它会将实体中的attribe生成C#中的public field,而不是property,找了半天终于发现有一种方法:在\Resource Files\Object Languages\csharp.xol文件中保存了根据模型生成代码的配置,因此,只需
阅读全文
摘要:用我的MyGeneration模板生成NHibernate映射文件和关系(one-to-one,one-to-many,many-to-many) MyGeneration的几个NHibernate模板功能已经很强,但还是存在些问题。例如:Guid主键支持不佳,代码不易修改,不支持中文注释等等。所以我决定自己来改写此模版。我把一部分通用的函数提取到自己定义的基类中,这样调试和修改都方便另外增加了...
阅读全文
摘要:强大的代码生成工具MyGeneration 转 MyGeneration是一个功能很强大的代码生成工具。通过编写包含各种类型脚本(C#,VB.Net,JScript,VBScript)的模板,通过数据库的表内容,生成你需要的各种代码。你可以用它来生成ORM的实体类,存储过程,SQL语句等等。我甚至用它来生成Asp.Net的页面(呵呵,我很懒)。 MyGeneration提供了强大的在线模版库...
阅读全文

浙公网安备 33010602011771号