您的位置:首页 > 健康 > 养生 > 东莞响应式网站实力乐云seo_南京公司网站开发_百度快照怎么没有了_jmr119色带

东莞响应式网站实力乐云seo_南京公司网站开发_百度快照怎么没有了_jmr119色带

2025/5/16 11:58:19 来源:https://blog.csdn.net/Marzlam/article/details/146521469  浏览:    关键词:东莞响应式网站实力乐云seo_南京公司网站开发_百度快照怎么没有了_jmr119色带
东莞响应式网站实力乐云seo_南京公司网站开发_百度快照怎么没有了_jmr119色带

设计模式

  • 为什么设计模式是23种
  • 创建型 对象创建

为什么设计模式是23种

设计模式之所以被归纳为23种,而非其他数量,源于GoF(Gang of Four)在1994年的系统性总结和分类。这一数量的确定并非偶然,而是基于以下核心原因:

  1. 他们遵循“大三律”(Rule of Three),即只有经过三个以上不同类型系统的验证,一个模式才能被纳入经典体系。最终符合这一严格标准的模式共23种。
  2. 3种模式被划分为三类:==​创建型(5种)、结构型(7种)、行为型(11种)==​。这种分类基于模式的核心目标(对象创建、结构组合、行为协作),覆盖了当时软件开发中的主流场景,形成逻辑自洽的体系
  3. 那随着技术的发展,比如MVC模式属于新的方向 但并未纳入,也就是说GoF的23种模式是基于特定历史阶段的经验总结,而非永恒不变

创建型 对象创建

在这里插入图片描述

  1. 单例模式(Singleton)
    核心思想:确保类只有一个实例,并提供全局访问点
    C# 实现关键:私有构造函数 + 静态实例 + 线程安全控制
//懒汉式(双重检查锁) 特点:延迟初始化,线程安全,适用于高并发场景
public sealed class Singleton
{private static Singleton _instance;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 sealed class Singleton
{// CLR 保证静态初始化的线程安全private static readonly Singleton _instance = new Singleton();private Singleton() { }public static Singleton Instance => _instance;
}
  1. 工厂方法模式(Factory Method)
    核心思想:定义一个创建对象的接口,由子类决定实例化哪个类。
    C# 实现关键:抽象工厂类 + 具体产品类 + 多态
    核心价值在于隔离变化点,适用于对象创建逻辑复杂、类型可能扩展的场景
    场景案列:数据库访问解耦/插件系统动态加载/支付方式多态选择/UI控件主题化创建
// 抽象产品</

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com