c#软件设计模式,创建型模式例题
时间: 2024-12-06 18:12:56 浏览: 10
《Java设计模式》刘伟 课后习题及模拟试题答案.rar
5星 · 资源好评率100%
好的,我很乐意为您介绍C#软件设计模式中的创建型模式,并提供一个例题。
创建型模式主要用于处理对象的创建机制,旨在通过控制对象的创建过程来解决问题。常见的创建型模式包括:
1. 单例模式(Singleton)
2. 工厂方法模式(Factory Method)
3. 抽象工厂模式(Abstract Factory)
4. 建造者模式(Builder)
5. 原型模式(Prototype)
下面我将以单例模式为例,提供一个C#的实现例题:
例题:设计一个线程安全的单例模式
```csharp
public sealed class Singleton
{
private static Singleton _instance = null;
private static readonly object _lock = new object();
// 私有构造函数,防止外部实例化
private Singleton()
{
}
public static Singleton Instance
{
get
{
// 双重检查锁定
if (_instance == null)
{
lock (_lock)
{
if (_instance == null)
{
_instance = new Singleton();
}
}
}
return _instance;
}
}
public void ShowMessage()
{
Console.WriteLine("这是一个单例模式示例");
}
}
// 使用示例
class Program
{
static void Main(string[] args)
{
Singleton.Instance.ShowMessage();
}
}
```
在这个例子中:
1. 我们使用sealed关键字防止类被继承。
2. 构造函数被声明为private,防止外部实例化。
3. 使用双重检查锁定(doublelock)实现线程安全的懒汉式单例模式。
4. 提供一个公共的静态属性Instance来获取单例实例。
5. 提供一个公共方法ShowMessage()来展示单例的功能。
这种实现方式既保证了线程安全,又避免了不必要的锁定操作,提高了性能。
阅读全文