摘要: 阅读全文
posted @ 2010-12-25 08:49 昝昝 阅读(1643) 评论(0) 推荐(0)
摘要: 领域驱动的设计方法是由建模开始的,主要分为信息建模、行为建模、UI建模;  信息建模是领域驱动设计的开始,信息建模会对信息进行分区,保证每个分区内部的信息内聚,分区之间则要弱耦合;在信息建模的基础上再进行行为建模,行为建模要和信息建模时产生的分区保持一致;UI建模主要是考虑UI设计与行为模型的配合。 阅读全文
posted @ 2010-11-04 17:06 昝昝 阅读(303) 评论(0) 推荐(0)
摘要: 我们都知道在软件设计中有一个非常重要的原则就是要高内聚,低耦合。怎样才能高内聚呢,这主要有两个层面:1. 在函数级别,功能相关的函数要尽量放在一起或者要放在一个类中。2. 在类型级别,功能相关的类型要尽量放在一个Project中,并且要在同一个大的命名空间下。但是在实际开发中光是这样做还是不够的,这里主要有以下几个问题:我们知道VSTS是由下面几个概念组成的:Solution,Project,Fi... 阅读全文
posted @ 2010-10-23 18:58 昝昝 阅读(234) 评论(0) 推荐(0)
摘要: 本文再具体探讨一下VSTS提供的单元测试工具附带的几个Attribute的用法  基础  1. TestClass  这是对一个类的标记,表明这个类型是一个用来测试的类型。  2. TestMethod  这是对一个方法的标记,表明该方法是一个可测试的具体方法。  方法必须是void,而且没有参数  3. ExpectedException  这是对一个测试方法的标记,表明该方法预期的异常类型  ... 阅读全文
posted @ 2010-10-14 10:58 昝昝 阅读(342) 评论(1) 推荐(0)
摘要: 在为使用VS2008编写的项目做单元测试时发现,在单元测试过程中AppDomain.CurrentDomain.BaseDirectory始终指向的是C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE,在VS2005下应该是指向$(SolutionDir)\TestResults\...\Out folder目录的,由于我们的程序中使用AppDomain.CurrentDomain.BaseDirectory来定位一些.config和.dll文件,因此这对我们的UnitTest造成很大的困惑,最后我们找到了一个临时的解决方案,就是. 阅读全文
posted @ 2010-10-14 10:41 昝昝 阅读(888) 评论(0) 推荐(0)
摘要: 如果在某个Appdomain中执行的线程发生了异常,异常会沿着线程的调用栈向上传播直到被调用栈的上层方法捕获并处理掉,否则异常继续传播,在此传播过程中可能会出现跨Appdomain的情况,如果异常被传播到调用栈的顶层方法任然没有被处理掉,则异常会被Runtime捕获并成为UnhandledException,默认情况下这会导致程序退出。可以在App.Config中配置运行时处理UnhandledException的行为,这对于编写多AppDomain的应用程序非常有帮助。<?xml version="1.0" encoding="utf-8" ?& 阅读全文
posted @ 2010-09-18 15:49 昝昝 阅读(348) 评论(0) 推荐(0)
摘要: 想要成为一个优秀的软件架构师,首先必须深入学习各种设计理论,深入研究各种优秀的框架,从其中学习优秀的设计方法。设计理论: 层次化设计 面向服务设计 面向对象设计 面向组件设计优秀框架: WCF 框架 WWF 框架 WPF 框架 .NET 框架 阅读全文
posted @ 2010-09-11 20:55 昝昝 阅读(203) 评论(0) 推荐(0)
摘要: 服务器性能优化:  1.建立性能基线  2.建立监视  3.分析监视结果  相关工具:    1.Windows工具      Perfmon,TskMgr,EventMon,NetMon    2.Sql Server 工具      事件探查器      查询优化顾问      SQL 管理器        Log        执行计划        活动监视        各种Report... 阅读全文
posted @ 2010-08-27 18:13 昝昝 阅读(297) 评论(0) 推荐(0)
摘要: namespace Practices.Services.AppDomainManagers{ public class AppDomainManager:ServiceBase { #region Private Members private readonly Dictionarystring,AppDomain m_AppDomains = new Dictionarystring, AppDomain(); private readonly Dictionarystring, AppDomainEventNotify m_AppDomainEventNotifys = ne 阅读全文
posted @ 2010-08-26 13:45 昝昝 阅读(596) 评论(0) 推荐(0)
摘要: 软件设计的核心是职责分配和职责抽象。职责分配和职责抽象在软件设计的各个层面都有涉及。在高层,架构分层和分区都属于职责分配;在底层, 如何定义类以及函数的归属都属于职责分配。设计模式的精髓在于它从旧的设计方案中分离出了很多职责,有助于解决旧系统功能耦合比较强的问题有的指责比较好发现,比如分层和分区以及类的职责定义,因为它属于功能级别的自然职责;但有的职责就不好确认了,比如使用设计模式分离出来的职责就... 阅读全文
posted @ 2010-08-17 16:47 昝昝 阅读(294) 评论(2) 推荐(0)