摘要:首先,MVC和三层架构,是不一样的。 三层架构中,DAL(数据访问层)、BLL(业务逻辑层)、WEB层各司其职,意在职责分离。 MVC是 Model-View-Controller,严格说这三个加起来以后才是三层架构中的WEB层,也就是说,MVC把三层架构中的WEB层再度进行了分化,分成了控制器...
阅读全文
摘要:作为一种常用的设计模式,单例模式被广泛的使用。那么如何设计一个单例才是最好的呢?通常我们会这么写,网上能搜到的例子也大部分是这样:class A{protectedstatic $_instance =null;protectedfunction __construct(){//disallow new instance}protectedfunction __clone(){//disallow clone}publicfunction getInstance(){if(self::$_instance ===null){self::$_instance =newself();}return
阅读全文
摘要:publicsealedclassSingleton{Singleton(){}publicstaticSingletonInstance{get{returnNested.instance;}}classNested{// Explicit static constructor to tell C# compiler// not to mark type as beforefieldinitstaticNested(){}internalstaticreadonlySingleton instance =newSingleton();}}使用内嵌类,实现延迟加载;指定为readonly保证线
阅读全文
摘要:单例模式请不要滥用2011-01-14说到面向对象的设计模式,现在很多人都可以随便说出好几种常用的,但是有没有想过设计模式,即使是初学者也至少能说一下SingleTon和Factory Method这两个。那么,设计模式是不是随便怎么用都没问题哪?这个问题从提问的方式上就可以看出,答案一定是否定的(大家也不是白白接受了这么多年的应试教育的)。 但是,就我个人的观察,滥用设计模式的绝对不是少数。而且越是简单的模式越会被滥用。从最简单的模式——SingleTon开始。说到SingleTon,我相信只要知道设计模式的,就知道SingleTon,也写过SingleTon,可谓是尽人皆知的设计模式了。就
阅读全文