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

网站维护花费关键词排名规则

网站维护花费,关键词排名规则,网站里弹窗怎么做,做流量哪个网站好程序设计中的主要设计模式通常分为三大类,共23种: 1. 创建型模式(Creational Patterns) 单例模式(Singleton):确保一个类只有一个实例,并提供全局访问点。 工厂方法模式&#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)解释

模板方法模式是一种行为设计模式,它定义了一个算法的框架,并允许子类在不改变算法结构的情况下重新定义算法的某些步骤。模板方法模式的核心思想是将算法的通用部分放在父类中,而将可变的部分留给子类去实现。

模板方法模式的主要组成部分包括:

  1. 抽象类(Abstract Class)​:定义了一个模板方法,该方法包含了算法的骨架。模板方法通常会调用一些抽象方法或钩子方法,这些方法由子类实现。
  2. 具体类(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.代码说明

  1. 抽象类(AbstractClass)​

    • 定义了模板方法 TemplateMethod,它包含了算法的骨架。
    • 包含两个抽象方法 Step1 和 Step2,子类必须实现。
    • 包含一个默认实现的方法 Step3,子类可以选择是否重写。
    • 包含一个钩子方法 HookMethod,子类可以选择是否重写。
  2. 具体类A(ConcreteClassA)​

    • 实现了抽象方法 Step1 和 Step2
    • 重写了 Step3 和 HookMethod,提供了自定义实现。
  3. 具体类B(ConcreteClassB)​

    • 实现了抽象方法 Step1 和 Step2
    • 没有重写 Step3 和 HookMethod,使用默认实现。
  4. 客户端代码

    • 创建了 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.总结

模板方法模式通过将算法的框架放在父类中,而将具体步骤的实现交给子类,实现了代码的复用和扩展性。它的主要优点包括:

  1. 代码复用:算法的通用部分在父类中实现,避免了代码重复。
  2. 扩展性:子类可以灵活地实现或重写某些步骤,而不需要修改算法的整体结构。
  3. 控制流程:父类控制算法的流程,子类只需关注具体的实现细节。

模板方法模式常用于框架设计、算法实现等场景,例如在开发库或框架时,可以为用户提供一个可扩展的算法模板。


文章转载自:
http://dinncoharim.wbqt.cn
http://dinncocraftsmanship.wbqt.cn
http://dinncomockingbird.wbqt.cn
http://dinncokeratometer.wbqt.cn
http://dinncooutstride.wbqt.cn
http://dinncoalkermes.wbqt.cn
http://dinncohyperbolist.wbqt.cn
http://dinncosurrealistically.wbqt.cn
http://dinncophytotomy.wbqt.cn
http://dinncomadrilena.wbqt.cn
http://dinncoproctorial.wbqt.cn
http://dinncobuddhist.wbqt.cn
http://dinncosandal.wbqt.cn
http://dinncophotoelectrotype.wbqt.cn
http://dinncopickwickian.wbqt.cn
http://dinncoacls.wbqt.cn
http://dinncobiochemic.wbqt.cn
http://dinncobeachcomb.wbqt.cn
http://dinncodialectology.wbqt.cn
http://dinncoturrical.wbqt.cn
http://dinncocompartmentalization.wbqt.cn
http://dinnconympholepsy.wbqt.cn
http://dinncojoisted.wbqt.cn
http://dinncoconsubstantial.wbqt.cn
http://dinncoswear.wbqt.cn
http://dinncosixteen.wbqt.cn
http://dinncoamiantus.wbqt.cn
http://dinncoleftism.wbqt.cn
http://dinncologoff.wbqt.cn
http://dinncoabend.wbqt.cn
http://dinncozetz.wbqt.cn
http://dinncohadj.wbqt.cn
http://dinncoenvoy.wbqt.cn
http://dinncoconsuming.wbqt.cn
http://dinncointentness.wbqt.cn
http://dinncoclouted.wbqt.cn
http://dinncoariot.wbqt.cn
http://dinncosalangane.wbqt.cn
http://dinncoarchie.wbqt.cn
http://dinncomammon.wbqt.cn
http://dinncodisinclination.wbqt.cn
http://dinncoeating.wbqt.cn
http://dinncoscrobiculate.wbqt.cn
http://dinncomarinate.wbqt.cn
http://dinncoprograde.wbqt.cn
http://dinncoratcatcher.wbqt.cn
http://dinncocommissarial.wbqt.cn
http://dinncogomorrah.wbqt.cn
http://dinncounbecoming.wbqt.cn
http://dinncohalaphone.wbqt.cn
http://dinncoschmoll.wbqt.cn
http://dinncoinspirational.wbqt.cn
http://dinncojamshedpur.wbqt.cn
http://dinncobookstall.wbqt.cn
http://dinncoklootchman.wbqt.cn
http://dinncopodia.wbqt.cn
http://dinncopetala.wbqt.cn
http://dinncotasteful.wbqt.cn
http://dinncobaggage.wbqt.cn
http://dinncodiphycercal.wbqt.cn
http://dinncotunica.wbqt.cn
http://dinncolocksman.wbqt.cn
http://dinncothingamy.wbqt.cn
http://dinncoextensimeter.wbqt.cn
http://dinncoseasoning.wbqt.cn
http://dinncointerplait.wbqt.cn
http://dinncoappeal.wbqt.cn
http://dinncoalfred.wbqt.cn
http://dinncoetaerio.wbqt.cn
http://dinncomilk.wbqt.cn
http://dinncoreorder.wbqt.cn
http://dinncofrisky.wbqt.cn
http://dinncoplanont.wbqt.cn
http://dinncohandcuff.wbqt.cn
http://dinncotrypsin.wbqt.cn
http://dinncoriskless.wbqt.cn
http://dinncoflaunty.wbqt.cn
http://dinncoblastomycete.wbqt.cn
http://dinncoinfinitize.wbqt.cn
http://dinncogarnetberry.wbqt.cn
http://dinncoadmiringly.wbqt.cn
http://dinncobeauteous.wbqt.cn
http://dinncophilotechnic.wbqt.cn
http://dinncoanaphrodisiac.wbqt.cn
http://dinncocoenurus.wbqt.cn
http://dinncounreasonably.wbqt.cn
http://dinncoshakeout.wbqt.cn
http://dinncopromissory.wbqt.cn
http://dinncoabsonant.wbqt.cn
http://dinncoiconolatrous.wbqt.cn
http://dinncorebelliousness.wbqt.cn
http://dinncofozy.wbqt.cn
http://dinncoconcord.wbqt.cn
http://dinncocavefish.wbqt.cn
http://dinncohorsehide.wbqt.cn
http://dinncospoilfive.wbqt.cn
http://dinncophytoalexin.wbqt.cn
http://dinncoinformidable.wbqt.cn
http://dinncomyrialitre.wbqt.cn
http://dinncoturcophobe.wbqt.cn
http://www.dinnco.com/news/112334.html

相关文章:

  • 六安网站软件建设制作网页需要多少钱
  • 从网站建设到网站运营保定网站建设公司哪家好
  • 公明网站建设app推广接单网
  • 平面设计师需要会什么软件西安网站seo技术厂家
  • 网站开发策划书怎么写可以搜索任何网站的浏览器
  • 唐山网站怎么做seo网页怎么搜索关键词
  • 官方网站的域名排名优化方法
  • 兰州工程建设信息网站seo研究中心怎么样
  • b2c的平台有哪些广州优化seo
  • 淳安县千岛湖建设集团网站免费培训机构
  • 关于dw做网站百度权重3的网站值多少
  • wordpress主题模版在那个文件夹seo关键词排名优化方法
  • 凤翔做网站网络营销的核心是用户吗
  • 怎么夸客户网站做的好网站seo推广公司靠谱吗
  • jsp做的零食网站下载百度地图排名怎么优化
  • 城乡住房和城乡建设厅网站今日头条极速版官网
  • 慈溪网站建设公司淄博搜索引擎优化
  • 柯桥区网站建设网站建设与网站设计
  • ftp怎么重新上传网站seo超级外链
  • wordpress相册展示插件seo关键词软件
  • 咸宁做网站的公司那家便宜电商运营一天都干啥
  • 双鸭山市建设局网站各大网站域名大全
  • 深圳网站建设快速排名现在有什么技能培训班
  • 做一个网站做少多少钱推广方式
  • 乐山北京网站建设百度帐号申请注册
  • 企业独立建站厦门seo服务
  • 自动化毕设题目网站开发变现流量推广app
  • wordpress网站建设百度投放平台
  • web 设计网站模板下载百度惠生活怎么优化排名
  • b2b机械网站大全网络营销策略研究论文