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

温州购物网络商城网站设计制作开发网站的语言

温州购物网络商城网站设计制作,开发网站的语言,天猫网站设计分析,wordpress主题邮件模板下载失败程序设计中的主要设计模式通常分为三大类#xff0c;共23种#xff1a; 1. 创建型模式#xff08;Creational Patterns#xff09; 单例模式#xff08;Singleton#xff09;#xff1a;确保一个类只有一个实例#xff0c;并提供全局访问点。 工厂方法模式#xff0…程序设计中的主要设计模式通常分为三大类共23种 1. 创建型模式Creational Patterns 单例模式Singleton确保一个类只有一个实例并提供全局访问点。 工厂方法模式Factory Method定义创建对象的接口由子类决定实例化哪个类。 抽象工厂模式Abstract Factory提供一个创建一系列相关或依赖对象的接口而无需指定具体类。 建造者模式Builder将一个复杂对象的构建与其表示分离使同样的构建过程可以创建不同的表示。 原型模式Prototype通过复制现有对象来创建新对象。 2. 结构型模式Structural Patterns 适配器模式Adapter将一个类的接口转换成客户希望的另一个接口。 桥接模式Bridge将抽象部分与实现部分分离使它们可以独立变化。 组合模式Composite将对象组合成树形结构以表示“部分-整体”的层次结构。 装饰器模式Decorator动态地给对象添加职责相比生成子类更为灵活。 外观模式Facade为子系统中的一组接口提供一个统一的接口。 享元模式Flyweight通过共享技术有效地支持大量细粒度对象。 代理模式Proxy为其他对象提供一种代理以控制对这个对象的访问。 3. 行为型模式Behavioral Patterns 责任链模式Chain of Responsibility使多个对象都有机会处理请求从而避免请求的发送者与接收者耦合。 命令模式Command将请求封装为对象使你可以用不同的请求对客户进行参数化。 解释器模式Interpreter给定一个语言定义其文法的一种表示并定义一个解释器。 迭代器模式Iterator提供一种方法顺序访问一个聚合对象中的各个元素而又不暴露其内部表示。 中介者模式Mediator定义一个中介对象来封装一系列对象之间的交互。 备忘录模式Memento在不破坏封装性的前提下捕获一个对象的内部状态并在该对象之外保存这个状态。 观察者模式Observer定义对象间的一对多依赖关系当一个对象改变状态时所有依赖者都会收到通知并自动更新。 状态模式State允许对象在其内部状态改变时改变其行为。 策略模式Strategy定义一系列算法将它们封装起来并使它们可以互相替换。 模板方法模式Template Method定义一个操作中的算法骨架将一些步骤延迟到子类中。 访问者模式Visitor表示一个作用于某对象结构中的各元素的操作使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。 4.模板方法模式Template Method Pattern解释 模板方法模式是一种行为设计模式它定义了一个算法的框架并允许子类在不改变算法结构的情况下重新定义算法的某些步骤。模板方法模式的核心思想是将算法的通用部分放在父类中而将可变的部分留给子类去实现。 模板方法模式的主要组成部分包括 ​抽象类Abstract Class​定义了一个模板方法该方法包含了算法的骨架。模板方法通常会调用一些抽象方法或钩子方法这些方法由子类实现。​具体类Concrete Class​实现了抽象类中的抽象方法或钩子方法从而具体化了算法的某些步骤。 模板方法模式的关键在于​父类控制算法的流程子类实现具体的步骤。这种方式可以避免代码重复并且使得算法的扩展更加灵活。 5.C# 实现模板方法模式的演示代码 csharp using System;// 抽象类定义模板方法和算法的骨架 public abstract class AbstractClass {// 模板方法定义了算法的流程public void TemplateMethod(){Step1();Step2();Step3();HookMethod(); // 钩子方法子类可以选择是否重写}// 具体步骤1抽象方法子类必须实现protected abstract void Step1();// 具体步骤2抽象方法子类必须实现protected abstract void Step2();// 具体步骤3默认实现子类可以选择是否重写protected virtual void Step3(){Console.WriteLine(AbstractClass: Default implementation of Step3);}// 钩子方法默认实现子类可以选择是否重写protected virtual void HookMethod(){Console.WriteLine(AbstractClass: Default implementation of HookMethod);} }// 具体类A实现抽象类中的抽象方法 public class ConcreteClassA : AbstractClass {protected override void Step1(){Console.WriteLine(ConcreteClassA: Step1);}protected override void Step2(){Console.WriteLine(ConcreteClassA: Step2);}// 重写Step3提供自定义实现protected override void Step3(){Console.WriteLine(ConcreteClassA: Custom implementation of Step3);}// 重写钩子方法提供自定义实现protected override void HookMethod(){Console.WriteLine(ConcreteClassA: Custom implementation of HookMethod);} }// 具体类B实现抽象类中的抽象方法 public class ConcreteClassB : AbstractClass {protected override void Step1(){Console.WriteLine(ConcreteClassB: Step1);}protected override void Step2(){Console.WriteLine(ConcreteClassB: Step2);}// 不重写Step3使用默认实现// 不重写HookMethod使用默认实现 }// 客户端代码 class Program {static void Main(string[] args){Console.WriteLine(Client: Testing ConcreteClassA);AbstractClass classA new ConcreteClassA();classA.TemplateMethod();Console.WriteLine(\nClient: Testing ConcreteClassB);AbstractClass classB new ConcreteClassB();classB.TemplateMethod();} } 6.代码说明 ​抽象类AbstractClass​ 定义了模板方法 TemplateMethod它包含了算法的骨架。包含两个抽象方法 Step1 和 Step2子类必须实现。包含一个默认实现的方法 Step3子类可以选择是否重写。包含一个钩子方法 HookMethod子类可以选择是否重写。 ​具体类AConcreteClassA​ 实现了抽象方法 Step1 和 Step2。重写了 Step3 和 HookMethod提供了自定义实现。 ​具体类BConcreteClassB​ 实现了抽象方法 Step1 和 Step2。没有重写 Step3 和 HookMethod使用默认实现。 ​客户端代码 创建了 ConcreteClassA 和 ConcreteClassB 的实例并调用它们的 TemplateMethod展示了不同子类的行为。 7.运行结果 Client: Testing ConcreteClassA ConcreteClassA: Step1 ConcreteClassA: Step2 ConcreteClassA: Custom implementation of Step3 ConcreteClassA: Custom implementation of HookMethodClient: Testing ConcreteClassB ConcreteClassB: Step1 ConcreteClassB: Step2 AbstractClass: Default implementation of Step3 AbstractClass: Default implementation of HookMethod 8.总结 模板方法模式通过将算法的框架放在父类中而将具体步骤的实现交给子类实现了代码的复用和扩展性。它的主要优点包括 ​代码复用算法的通用部分在父类中实现避免了代码重复。​扩展性子类可以灵活地实现或重写某些步骤而不需要修改算法的整体结构。​控制流程父类控制算法的流程子类只需关注具体的实现细节。 模板方法模式常用于框架设计、算法实现等场景例如在开发库或框架时可以为用户提供一个可扩展的算法模板。
http://www.dnsts.com.cn/news/225048.html

相关文章:

  • 国外产品展示网站源码四川网站建设的公司
  • 各大网站发布信息宽屏网页设计尺寸
  • 网站域名icp备案有经验的大连网站建设
  • 大连网站制作赞ls15227改了网站关键词
  • 网站备案的重要性企业网站模板趋势
  • 个人博客网站教程广告片宣传片拍摄公司
  • 好多网站没排名了目前国内有哪些网站做家具回收
  • 网站300兆是多少钱台州市知名专业做网站
  • 无锡网站建设工作室建站专业团队一站式服务
  • 企业网站建设投标书创办公司的基本流程
  • 网站代码的重点内容是什么烟台广告公司联系方式
  • 公司网站制作效果怎么样关于企业网站建设的建议
  • 网站服务器和网站摄影网站制作流程
  • 做网站卖仿品有链接的网站
  • 网站建设的功能要求想学网站建设优化去哪
  • 一流的南昌网站建设wordpress框架是什么意思
  • 在网站上做教学直播平台多少钱在线crm免费
  • 全民电竞app的制作公司专业搜索引擎seo合作
  • 摄影网站开发背景怎么写德州网站建设推广价格
  • 酒店类的电影网站模板免费下载建站点
  • wix建站教程wordpress旧版
  • 做纺织外贸网站违法网站怎么做安全
  • 网站建设运营网站建设方案策划书ppt模板下载
  • 58同城一样的网站怎样建设上海网站设计要多少钱
  • 如何建一个个人网站网站开发的过程
  • 网站外链建设有利于增加网站收录智慧团建网站pc端
  • 南京做网站南京乐识专心网站开发摊销期多少年
  • 太谷县建设局网站包头网站设计
  • 河西做网站网络推广的方法有
  • 网站改版费用关键词推广软件排名