随笔分类 - [20]DesignAnalysis设计分析
-
C#中标准Dispose模式的实现
摘要:需要明确一下C#程序(或者说.NET)中的资源。简单的说来,C#中的每一个类型都代表一种资源,而资源又分为两类:托管资源:由CLR管理分配和释放的资源,即由CLR里new出来的对象;非托管资源:不受CLR管理的对象,windows内核对象,如文件、数据库连接、套接字、COM对象等;毫无例外地,如果我们的类型使用到了非托管资源,或者需要显式释放的托管资源,那么,就需要让类型继承接口IDisposable。这相当于是告诉调用者,该类型是需要显式释放资源的,你需要调用我的Dispose方法。不过,这一切并不这么简单,一个标准的继承了IDisposable接口的类型应该像下面这样去实现。这种实现我们称 阅读全文
-
步步为营 .NET三层架构解析 六、BLL的设计
摘要:BLL层,又叫业务逻辑层,顾名思义,就是放置业务逻辑的地方.业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据访问层而言,它是调用者;对于表示层而 阅读全文
-
步步为营 .NET三层架构解析 五、DAL与IDAL的设计
摘要:IDAL:数据访问层接口,接口是一种系列‘功能’的声明或名单,接口没有实现细节.DAL:数据访问层,主要用来做数据逻辑处理,具体为业务逻辑层或表示层提供数据服务。先来看下IDAL的设计:ICustom.cspublicinterfaceICustom{/// <summary>/// 添加一条记录/// </summary>/// <param name="Custom"></param>/// <returns></returns>intAddcustom(custom Custom);/// < 阅读全文
-
步步为营 .NET三层架构解析 四、Model设计
摘要:说到Model设计,我们先谈谈它的作用:Model又叫实体类,model层里面的一个类对应数据库里面的一张表, 类里面的每一个属性对应表里面的一个字段,每个属性都有自己的 GET 和 SET 方法, 项目中的数据存取都要依靠GET和SET方法来实现.确切的说它不属于纵向的哪一层,而是所有层都要用到的业务实体层。其实最主要的作用还是用来传递参数.下面我就用四种方式来创建Model类:方式一: 创建department的实体类department.cs:publicclassdepartment{privateint_id;privatestring_departname;privatestrin 阅读全文
-
步步为营 .NET三层架构解析 三、SQLHelper设计
摘要:数据库设计好了,我们开始设计SQLHelper了,是一个SQL基类.连接数据源:privateSqlConnection myConnection =null;privatereadonlystringRETURNVALUE ="RETURNVALUE";打开数据库连接.privatevoidOpen(){// 打开数据库连接if(myConnection ==null){// myConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString" 阅读全文
-
OO设计原则总结
摘要:什么是设计原则?设计原则是基本的工具,应用这些规则可以使你的代码更加灵活、更容易维护,更容易扩展。基本原则封装变化Encapsulate what varies.面向接口编程而非实现Code to an interface rather than to an implementation.优先使用组合而非继承Favor Composition Over InheritanceSRP: The single responsibility principle 单一职责系统中的每一个对象都应该只有一个单独的职责,而所有对象所关注的就是自身职责的完成。Every object in your syst 阅读全文
-
下一代软件架构--SOA方案(转)
摘要:Web服务作为炙手可热的技术,如何应用到企业的IT系统和商业流程之中、并给企业带来直接的经济效益,一直备受国内外企业管理者的高度关注和推崇。而在近两年,出现了一种技术架构被誉为下一代Web服务的基础架构,它就是SOA(Service-oriented architecture,面向服务架构)。1996年,Gartner最早提出SOA。2002年12月,Gartner提出SOA是"现代应用开发领域最重要的课题",还预计到2008年,SOA将成为占有绝对优势的软件工程实践方法,主流企业现在就应该在理解和应用SOA开发技能方面进行投资。更好支持商业流程SOA并不是一个新事物,IT 阅读全文
-
步步为营 .NET三层架构解析 二、数据库设计
摘要:要开发用户管理系统,我们首先要了解需求,现在就举一个简单需求,用户表,假设有两种角色用一个字段departID来判断,管理员和员工,我们要先建一个用户表custom和一个部门表department:CREATE TABLE [dbo].[custom]( [id] [int] IDENTITY(1,1) NOT NULL, [cname] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL, [departID] [int] NOT NULL, [age] [int] NOT NULL, [ename] [nvarchar](50) COLLAT 阅读全文
-
分享 35 套精美的 PSD 图标素材
摘要:非常感谢那些很有才华的设计师分享它们的劳动成果,让更多的人可以使用他们的创意设计。今天,本文与大家分享35套精美的PSD源文件格式的图标资源,需要的朋友赶紧收藏起来哦 :)1- Designers Icons点击下载2- iDroid icons for Android点击下载3- Free Twitter Icons点击下载4- PSD: Adobe Icon Template点击下载5- Free Vector PSD Icon Set点击下载6- Flavours Icon Set点击下载7- Dock Icons点击下载8- iPhone icons点击下载9- Simple Icon 阅读全文
-
PowerDesigner 教程系列
摘要:PowerDesigner 教程系列(八)概念数据模型摘要: PowerDesigner 教程系列(八)概念数据模型 目标:本文主要介绍域的概念以及使用。一、概念域:实际上就是一个取值范围,也可扩展为一个数据类型。域可以定义检查约束、取值范围、最大值、最小值、默认值等。域是通过用户自定义类型实现的,定义一个域的后,可以实多个实体的属性共享,这也模型设计中非常重要。例如:“服务生”、“客户”、“操作员”三个实体中都有“姓名”属性,我们就可以定义一个“姓名”域,分别附加到三个实体中,修改域的同时,使用域的实体的相关属性也会随之更新。所图所示二、域的定义菜单Model->Domains,在弹出 阅读全文
-
Facebook 的产品开发管理代码流程,工程师驱动产品文化
摘要:我对facebook的运转着迷。这是一个很独特的环境,不容易被复制(他们的体系并不适合所有的公司,即使他们努力尝试过)。下面是我和facebook的朋友们关于他们如何开发和管理项目的记录。现在距离我收集的这些信息又过去6个月了,我相信facebook肯定又对他们的项目开发实践进行了改进。所以这些记录可能会有点过时。同时facebook的工程师驱动文化也越来越为大众所知。非常感谢那些帮助我整理这篇文章的facebook的朋友们。记录:* 截止到2010年6月,facebook有将近2000名员工,10个月前只有1100名,一年之间差不多翻了一番。* 两个最大的部门是工程师和运维,每个部门大概都是 阅读全文
-
TDD的讨论
摘要:这些天关于TDD的讨论很是激烈,从CoolShell上的TDD并不是看上去那么美,到InfoQ的TDD有多美,再到博客园的TDD到底美还是不美,基本上分成两派,一派说她美,一派说她不那么美。不过今天我想说的不是她美不美,而是这几天我自己反思后的一些想法。这篇CoolShell上的原文我本是没看过的,InfoQ上的这篇也没留意,完全是无意中看到Todd Wei的这篇以后才有回复的想法的,因此基本上我的回复都是基于Todd Wei的这篇文进行的讨论。首先我回复的是一个关于测试需要修改的问题:我们的工作到底是什么?我们的工作不是写代码。我们的工作是解决问题,是通过编写软件来解决问题。就好像你准备买一 阅读全文
-
Web开发工程师必读的15个设计博客
摘要:Web设计是一个不断变化的领域,因此掌握最新的发展趋势及技术动向对设计师来说非常重要,无论是学习新技术,还是寻找免费资源与工具,设计博客都是很不错的去处。本文向大家推荐15个非常不错的设计博客。1. Smashing MagazineSmashing Magazine创建于2006年,是最好的设计博客之一,有很多Web设计和开发方面的高质量文章,内容涉及HTML5、CSS、JavaScript、Photoshop、Wordpress、壁纸和网站可用性。2. Net TutsNet Tuts是一个高品质的设计博客,发布技术,技巧方面的文章和教程,内容涉及HTML、CSS、 Javascript、 阅读全文
-
WebMatrix教程(三) (关注Microsoft 的最新武器:基于空白项目建立你的WebMatrix网站[下篇])
摘要:测试你的站点WebMatrix 包含一个 IIS Express, 它的工作方式很像 IIS. 然而, IIS Express是集成在WebMatrix里,在本地计算机上运行,这方便了我们进行本地测试。有时你需要做的不仅仅是检查网页的外观, 你可能想知道在后台数据交换中发生了什么。例如,是否有损坏的链接,WebMatrix有一个工具可以带你直接到这类文件处作出修正。选择Site工作区,然后在Requests 功能区里会看到Requests工具,然后单击Only Errors只看错误。前两个例子显示404.0错误代码,是因为您的网站没有所需图标。 要查看有关错误的详细信息,您可以点击那一行进入。 阅读全文
-
WebMatrix教程(二) (关注Microsoft 的最新武器:基于空白项目建立你的WebMatrix网站[上篇])
摘要:谢谢大家对我第一篇的回复和提问,这里有一些补充说明:WebMatrix是微软于今年(2011)1月发布的,它的特点是:完全免费可用于Windows 或 Linux 服务器可用于PHP或ASP.net开发支持Razor(CSHTML) 一种新的语法结构(Scott 强调Razor不是一种新的语言)包含SEO优化工具方便开发人员快速安装及使用已有的开源系统(有些不开源(或半开源)的系统也包含在内)例如:DotNetNuke, Umbraco, WordPress, Joomla下文参考翻译自Create an ASP.NET website from scratch如果你还没有安装WebMatri 阅读全文
-
WebMatrix教程(一) (关注Microsoft 的最新武器:建立你的第一个WebMatrix网站)
摘要:“除非你睡着了或刚刚从一个长假回来,你应该已经注意到了,…,微软重新进入到了'高效率开发者’的圈子中。” – Scott Willhite – Director of Community Programs from DotNetNuke微软是这样定义WebMatrix -- 一个全新的网络开发工具,涵括了你所需所有网站开发的东西。你还可以选择在Web Gallery 列表中的多种系统作为你网站的基础平台,例如:DotNetNuke, Drupal, Orchard CMS, ASP.NET MVC, Joomla! Umbraco …., 而WebMatrix 真正革命性的地方在于引入 阅读全文
-
ASP.NET 快乐建站系列 -- 电子期刊(Enewsletter)内容中客户独一链接的巧妙加密
摘要:背景:公司经常要发出一些Enewsletter,里面含有一些特定的链接,当用户点击的邮件内链接的时候,会根据用户的信息带客户到不同的页面,对一些客户会让他们填写表格,而这些表格一开始已经提前放置了客户的基本信息。客户的来源可能是从公司站点的原有注册用户,也有可能来自公司从其他地方收集的信息。-- 补充一句,这不同于一般的垃圾邮件,而是针对特定群体的邀请信。问题:实现的需求的速度是越快越好,所以取巧直接用了客户的电子邮件放置在链接当中,但是如何不让客户或其他人看到甚至修改呢?实现:哈!好在asp.net有个国度叫System.Security.Cryptography.在此国度内居住的一类群体专 阅读全文
-
如何真正提高ASP.NET网站的性能
摘要:前言怎么才能让asp.net 网站飞得更快,有更好的性能? -- 这是很多开发者常常思考的一个问题。我有时候会做大量的测试,或请求别人帮忙采集一些数据,希望能够验证网上一些专家的建议或证明自己的一些猜想。理论上讲,我们希望能开发出性能最优的网站,但是公司能否承担为此要付出的成本?这是实践过程中常常遇到的矛盾。 如何合理运用已知技巧在实战中是最有意义话题。本文罗列出一些优化的经验和方案,成文之前有幸看了一些高质量的文章。想强调一点,很多的部分不是我个人的劳动成果,但我完全的支持和同意这样去做,不敢独享,希望抛砖引玉,共同长进。IIS设置如果你的IIS服务器不需要外出访问互联网,关闭Certifi 阅读全文
-
22款免费英文字体
摘要:在设计网页的时候,选择一款符合主题的字体非常重要。这篇文章列出了专业设计师最常用的22款免费英文字体并提供了下载链接,帮助设计师们节省网上搜索字体的时间。1.Delicious官方下载链接:Click Here2.Gentium官方下载链接:Click Here3.Tallys官方下载链接:Click Here4.Lido STF官方下载链接:Click Here5.Mg Open5 (a).MgOpenCanonica官方下载链接:Click Here5 (b).MgOpenCosmetica官方下载链接:Click Here5 (c).MgOpenModata官方下载链接:Click He 阅读全文
-
专注于面向对象
摘要:通过分析蜘蛛侠论坛中的版块管理功能来介绍该如何使用我开发出来的ROM框架摘要: http://www.cnblogs.com/netfocus/archive/2010/01/10/1643207.html上面这个是框架发布页面的地址。就以论坛版块管理模块作为例子来介绍这个框架吧,包括显示版块列表、新增版块、修改版块、删除版块四个功能;1. 表设计:SQL代码Code highlighting produced by Actipro CodeHighlighter (free...阅读全文posted @2010-01-10 16:41netfocus 阅读(1911) |评论 (7)编辑很高 阅读全文