当前位置: 首页 > wzjs >正文

wordpress如何做站群上海 网站备案系统

wordpress如何做站群,上海 网站备案系统,好的广告片拍摄制作公司,厦门网站建站公司23种设计模式详解(基于GoF经典分类) 设计模式是前辈程序员在解决软件设计问题时总结的可复用方案。根据GoF(四人帮)的分类,23种设计模式可分为创建型、结构型和行为型三大类。以下是详细解析: 一、创建型…

23种设计模式详解(基于GoF经典分类)

设计模式是前辈程序员在解决软件设计问题时总结的可复用方案。根据GoF(四人帮)的分类,23种设计模式可分为创建型结构型行为型三大类。以下是详细解析:

一、创建型模式(5种)

核心目标:优化对象的创建过程,提升灵活性和资源管理效率。

  1. 工厂方法模式(Factory Method)
    • 机制:定义一个创建对象的接口,由子类决定实例化哪个类。
    • 场景:需要延迟实例化或子类决定具体类时(如JDBC驱动加载)。
    • 示例LoggerFactory根据配置返回FileLoggerDatabaseLogger
  2. 抽象工厂模式(Abstract Factory)
    • 机制:创建一系列相关或依赖对象,无需指定具体类。
    • 场景:需要产品族(如不同操作系统主题组件)时。
    • 示例GUIFactory生成WindowsButtonMacButton
  3. 单例模式(Singleton)
    • 机制:确保类唯一实例,提供全局访问点。
    • 场景:日志记录、线程池、配置管理器等需唯一资源的场景。
    • 实现:双重检查锁(DCL)或静态内部类方式。
  4. 建造者模式(Builder)
    • 机制:分离复杂对象构建与表示,支持分步构建。
    • 场景:对象构造过程复杂且需灵活组合时(如游戏角色装备搭配)。
    • 示例ComputerBuilder分步设置CPU、内存、硬盘。
  5. 原型模式(Prototype)
    • 机制:通过复制原型创建新对象,避免重复初始化。
    • 场景:对象创建成本高或需保留原始状态时(如Excel模板复制)。
    • 实现clone()方法深度复制对象。
二、结构型模式(7种)

核心目标:构建高效、可扩展的系统结构,降低类与对象间的耦合。

  1. 适配器模式(Adapter)
    • 机制:转换接口以兼容不兼容的类。
    • 场景:旧系统集成或第三方库适配(如电压转换器)。
    • 示例LegacySystemAdapter将旧API转换为新接口。
  2. 桥接模式(Bridge)
    • 机制:抽象与实现分离,独立变化。
    • 场景:需多维度扩展时(如跨平台绘图工具:Windows/Mac + 矢量/位图)。
    • 示例DrawingAPI分离WindowsRendererMacRenderer
  3. 组合模式(Composite)
    • 机制:树形结构表示部分-整体,统一访问。
    • 场景:文件系统、组织架构管理。
    • 示例FileFolder统一处理为Component
  4. 装饰器模式(Decorator)
    • 机制:动态添加对象职责,替代继承。
    • 场景:需灵活扩展功能时(如咖啡订单:浓缩+奶泡+糖浆)。
    • 示例Beverage通过MilkDecoratorSugarDecorator动态添加配料。
  5. 外观模式(Facade)
    • 机制:简化复杂子系统接口。
    • 场景:API封装或新手引导流程。
    • 示例ComputerFacade一键启动CPU、内存、硬盘。
  6. 享元模式(Flyweight)
    • 机制:共享细粒度对象,减少资源消耗。
    • 场景:大量相似对象场景(如五子棋棋子)。
    • 示例ChessPieceFactory复用黑白棋子对象。
  7. 代理模式(Proxy)
    • 机制:控制对象访问,添加间接层。
    • 场景:权限控制、远程调用或日志记录(如明星经纪人)。
    • 示例ImageProxy延迟加载大图资源。
三、行为型模式(11种)

核心目标:增强对象间通信与协作,提升代码复用和可维护性。

  1. 责任链模式(Chain of Responsibility)
    • 机制:请求沿处理链传递,直至被处理。
    • 场景:权限审批、异常拦截。
    • 示例ApprovalHandler链式处理请假申请。
  2. 命令模式(Command)
    • 机制:请求封装为对象,支持撤销/重做。
    • 场景:操作日志、任务队列(如文本编辑器撤销功能)。
    • 示例TextEditorCommand记录复制、粘贴操作。
  3. 解释器模式(Interpreter)
    • 机制:解释语言文法,构建解释器。
    • 场景:简单规则引擎或数学表达式解析。
    • 示例MathExpressionInterpreter解析并计算表达式。
  4. 迭代器模式(Iterator)
    • 机制:统一访问集合元素,不暴露内部结构。
    • 场景:遍历容器对象(如Java集合框架)。
    • 示例ListIterator遍历ArrayList
  5. 中介者模式(Mediator)
    • 机制:封装对象交互,降低耦合。
    • 场景:聊天室、航班预订系统。
    • 示例ChatRoomMediator协调用户消息发送。
  6. 备忘录模式(Memento)
    • 机制:捕获对象状态,支持恢复。
    • 场景:游戏存档、撤销操作。
    • 示例GameSnapshot保存/恢复游戏进度。
  7. 观察者模式(Observer)
    • 机制:定义一对多依赖,状态变化通知观察者。
    • 场景:事件驱动系统、股票报价更新。
    • 示例StockTicker通知所有订阅者价格变动。
  8. 状态模式(State)
    • 机制:对象行为随状态改变。
    • 场景:订单状态机、电梯控制。
    • 示例OrderPendingShippedDelivered状态切换行为。
  9. 策略模式(Strategy)
    • 机制:封装可互换算法,动态选择。
    • 场景:支付方式切换、排序算法选择。
    • 示例SortStrategy根据参数选择快速排序或归并排序。
  10. 模板方法模式(Template Method)
    • 机制:定义算法骨架,子类实现步骤。
    • 场景:框架设计、算法复用(如Spring MVC处理流程)。
    • 示例DataProcessor定义validate()process()抽象方法。
  11. 访问者模式(Visitor)
    • 机制:操作作用于对象结构,不修改类。
    • 场景:报表生成、编译器语法分析。
    • 示例TaxVisitor计算不同Item的税费。
设计模式选择原则
  • 开闭原则:对扩展开放,对修改关闭。
  • 单一职责:一个类只负责一个功能。
  • 里氏替换:子类可替换父类而不影响程序。
  • 依赖倒置:依赖抽象而非具体实现。

通过合理选择设计模式,可显著提升代码的可读性、可维护性和可扩展性。实际应用中需结合场景权衡,避免过度设计。后续将会有一系列的学习研究,采用java语言的实际例子,针对这23种设计模式做一个详细分解。

http://www.dtcms.com/wzjs/596321.html

相关文章:

  • 加强网站互动交流平台建设自查眉山建设中等职业技术学校 网站
  • 企业简介模板图片北京公交yy优化
  • wordpress图片切换如何来做网站优化
  • 东莞网站外包百度浏览器
  • 青岛移动网站建设南京一对一网站建设
  • 网站定制哪家比较好网站空间租用多少钱
  • 小程序官方开发文档烟台seo网站排名优化
  • 网页建设与网站设计心德体会网站建设设计流程图
  • 做网站文件下载wordpress中dw是什么
  • 马洪旭 做的网站大学论述网站建设整个流程
  • 手机网站吧软件前端开发
  • 学企业管理培训班山东seo推广
  • 品牌网站制作流程wordpress登陆才能访问
  • 公司网站百度小程序开发哈尔滨市城乡建设局官网
  • 百度站长工具网站提交怎么增加网站浏览量
  • 无锡网站改版多少钱零售商城
  • 中卫建设厅网站网站建设与维护大作业
  • 商城式网站具备哪些功能吗网络营销推广计划
  • 建一个购物网站大约多少钱鱼台县建设局网站
  • 百色网站免费建设深圳物流公司排名
  • 服务器做网站移动端网站搭建
  • 寻找电子商务网站建设海口 网站开发
  • 昆山高新区规划建设局网站网站如何获取用户信任
  • wordpress门户网站模板下载做我姓什么的网站
  • dedecms网站地图路径修改生成后 网站地图前台路径不变深圳知名企业
  • 软件网站建设的目的买域名网站
  • 安徽网站优化多少钱网站备案信息传
  • 网站建设技术支持方案做推广必须知道的网站吗
  • 网站相应速度明薇通网站建设首选
  • 手机网站如何开发微信小程序怎么做免费