软件设计模式复习题(2)

2020-11-29 00:35

if (instance == null) { instance = new Singleton(); }} return instance ;} }

双重锁定:不用让线程每次都加锁,而只是在实例未被创建的时候再加锁处理。同时也能保证多线程的安全性。

class Singleton{private static Singleton instance;

private static readonly object syncRoot = new object(); private Singleton(){ }

public static Singleton GetInstance(){if (instance == null) { lock (syncRoot) {

if (instance == null) { instance = new Singleton();}}} return instance;} 静态初始化:不需要开发人员显示地编写线程安全代码,即可解决多线程环境下它是不安全的问题。

public sealed class Singleton{

private static readonly Singleton instance=new Singleton(); private Singleton(){}

public static Singleton GetInstance(){return instance; }} 组合模式:

透明方式:在Component中声明所有用来管理子对象的方法,其中包括Add、Remonve

等。这样实现Component接口的所有子类都具备了Add和Remove。这样做的好处就是叶节点和枝节点对外界没有区别,他们具备完全一致的行为接口。 安全方式:在Component接口中不去声明Add和Remove方法,那么子类的Leaf也就不

要去实现它,而是在Composite声明所有用来管理子类对象的方法。由于不透明,客户端要做判断。 外观模式:

创建http://www.77cn.com.cn的Façade

2、 设计模式的两大主题是什么? 答:对象组合,类继承的讨论

3、 设计模式分成几大类?每大类各包含哪些模式?

答:

模式大体上分为3类,分别从对象

的创建、对象的结构和对象的行为这3个方面来总结软件开发人员在设计方面的经验。


软件设计模式复习题(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:二年级100以内加减乘除混合口算题(100题1页)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: