文章分类 - 设计模式
[OOP]Object-Oriented Programming
摘要:(原创)无废话C#设计模式之一:开篇(原创)无废话C#设计模式之二:Singleton(原创)无废话C#设计模式之三:Abstract Factory(原创)无废话C#设计模式之四:Factory Method(原创)无废话C#设计模式之五:Prototype(原创)无废话C#设计模式之六:Builder(原创)无废话C#设计模式之七:Adapter(原创)无废话C#设计模式之八:Facade(原创)无废话C#设计模式之九:Proxy(原创)无废话C#设计模式之十:Flyweight(原创)无废话C#设计模式之十一:Composite(原创)无废话C#设计模式之十二:Bridge(原创)无废话
阅读全文
摘要:我们在编程中最常用的模式就是单例模式了,然而单例模式都用在什么场合?为什么不用静态方法而要用单例模式呢?要搞清这些问题,需要从静态方法和非静态方法的区别和联系说起。一、静态方法常驻内存,非静态方法只有使用的时候才分配内存?一般都认为是这样,并且怕静态方法占用过多内存而建议使用非静态方法,其实这个理解是错误的。为什么会这样,先从内存分配开始说起:托管堆的定义:对于32位的应用程序来说,应用程序完成进程初始化后,CLR将在进程的可用地址空间分配一块保留的地址空间,它是进程(每个进程可使用4GB)中可用地址空间上的一块内存区域,但并不对应任何物理内存,这块地址空间即是托管堆。托管堆有分为多个区域,其
阅读全文
摘要:观点一:(单例)单例模式比静态方法有很多优势:首先,单例可以继承类,实现接口,而静态类不能(可以集成类,但不能集成实例成员);其次,单例可以被延迟初始化,静态类一般在第一次加载是初始化;再次,单例类可以被集成,他的方法可以被覆写;最后,或许最重要的是,单例类可以被用于多态而无需强迫用户只假定唯一的实例。举个例子,你可能在开始时只写一个配置,但是以后你可能需要支持超过一个配置集,或者可能需要允许用户从外部从外部文件中加载一个配置对象,或者编写自己的。你的代码不需要关注全局的状态,因此你的代码会更加灵活。观点二:(静态方法)静态方法中产生的对象,会随着静态方法执行完毕而释放掉,而且执行类中的静态方
阅读全文

浙公网安备 33010602011771号