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

大兴高米店网站建设基于互联网 模式下的安全网站建设

大兴高米店网站建设,基于互联网 模式下的安全网站建设,如何创建网站?,那家专门做特卖的网站程序设计中的主要设计模式通常分为三大类,共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.策略模式(Strategy)解释

策略模式(Strategy Pattern)是一种行为设计模式,它定义了一系列算法,并将每个算法封装起来,使它们可以互换。策略模式让算法的变化独立于使用它的客户端,从而使得客户端可以在运行时动态地选择算法,而不需要修改客户端代码。

策略模式的核心思想是将算法的实现与使用算法的客户端解耦,通过将算法封装在独立的策略类中,客户端可以根据需要选择不同的策略来执行任务。

策略模式通常涉及以下三个角色:

  1. Strategy(策略接口)​:定义所有支持的算法的公共接口。
  2. ConcreteStrategy(具体策略)​:实现策略接口的具体算法。
  3. Context(上下文)​:持有一个策略对象的引用,并通过策略接口调用具体的算法。

5.C# 策略模式演示代码

 

csharp

using System;// Strategy接口:定义所有支持的算法的公共接口
interface IStrategy
{void Execute();
}// ConcreteStrategyA类:实现策略接口的具体算法A
class ConcreteStrategyA : IStrategy
{public void Execute(){Console.WriteLine("Executing Strategy A");}
}// ConcreteStrategyB类:实现策略接口的具体算法B
class ConcreteStrategyB : IStrategy
{public void Execute(){Console.WriteLine("Executing Strategy B");}
}// Context类:持有一个策略对象的引用,并通过策略接口调用具体的算法
class Context
{private IStrategy _strategy;public Context(IStrategy strategy){_strategy = strategy;}public void SetStrategy(IStrategy strategy){_strategy = strategy;}public void ExecuteStrategy(){_strategy.Execute();}
}// 客户端代码
class Program
{static void Main(string[] args){// 创建上下文对象,并设置初始策略Context context = new Context(new ConcreteStrategyA());// 执行初始策略context.ExecuteStrategy();// 更改策略并执行context.SetStrategy(new ConcreteStrategyB());context.ExecuteStrategy();}
}

6.代码说明

  1. IStrategy接口:这是一个策略接口,定义了所有支持的算法的公共接口。在这个例子中,接口只有一个Execute方法。

  2. ConcreteStrategyA类和ConcreteStrategyB类:这两个类实现了IStrategy接口,分别提供了具体的算法实现。ConcreteStrategyAConcreteStrategyB分别实现了Execute方法,输出不同的执行信息。

  3. Context类:这是上下文类,持有一个IStrategy对象的引用。Context类通过构造函数或SetStrategy方法设置策略对象,并通过ExecuteStrategy方法调用策略对象的Execute方法。

  4. 客户端代码:在Main方法中,我们创建了一个Context对象,并设置了初始策略为ConcreteStrategyA。然后,我们调用ExecuteStrategy方法执行初始策略。接着,我们更改策略为ConcreteStrategyB,并再次调用ExecuteStrategy方法执行新的策略。

7.运行结果

Executing Strategy A
Executing Strategy B

8.总结

策略模式通过将算法封装在独立的策略类中,使得算法的变化独立于使用它的客户端。客户端可以在运行时动态地选择不同的策略来执行任务,而不需要修改客户端代码。这种模式非常适合需要在运行时根据条件选择不同算法的场景。


文章转载自:

http://6fZ2srYN.xdnhw.cn
http://imHFWb3C.xdnhw.cn
http://wC2dxz8E.xdnhw.cn
http://khEY7Hde.xdnhw.cn
http://LuLKyRYs.xdnhw.cn
http://ZJ4Jr2yp.xdnhw.cn
http://qOxX5H7S.xdnhw.cn
http://cYlm9WBS.xdnhw.cn
http://vXdPHhQS.xdnhw.cn
http://XK81VpaT.xdnhw.cn
http://2FJ70uj5.xdnhw.cn
http://LVDQ9lUF.xdnhw.cn
http://txeBvXZm.xdnhw.cn
http://SaNKdlNQ.xdnhw.cn
http://gwniKKPy.xdnhw.cn
http://MdTpolLH.xdnhw.cn
http://NdgbYXXI.xdnhw.cn
http://LGdOnKl4.xdnhw.cn
http://hDsYvafy.xdnhw.cn
http://yvgPPp8C.xdnhw.cn
http://5Df2iAsv.xdnhw.cn
http://ToIJBM61.xdnhw.cn
http://71TSnTvx.xdnhw.cn
http://CYivRElt.xdnhw.cn
http://PdfxCQyA.xdnhw.cn
http://TBHKEnX3.xdnhw.cn
http://jqUCAjdw.xdnhw.cn
http://RQjcbB4m.xdnhw.cn
http://Bnq2ASht.xdnhw.cn
http://aYsOU1Bh.xdnhw.cn
http://www.dtcms.com/wzjs/644100.html

相关文章:

  • 用于手机的导航网站要怎么做免费网站建设系统
  • 电子商务的网站开发自己制作招聘的小程序
  • 建设局建筑电工证查询网站网站制作怎么学
  • 公司开发一个网站的流程医院网站域名备案
  • 网站外链建设需要逐步进行适可优化即可php网站开发主要做什么
  • 医院网站建设 招标网站建设售后质量保证
  • 云南专业做网站多少钱广州一起做网店官网app
  • 做网站那个平台好网页设计网站设计哪个好
  • 建站系统主要包括企业网站系统怀安网站制作
  • 烟台哪里有做网站网络信息
  • 浅谈高校网站群的建设自己做电影网站需要的成本
  • 网站开发平台选择wordpress采集淘宝客商品
  • 免费成品网站学广告设计平面设计
  • 品牌网站解决方案班玛县网站建设公司
  • 网站建设 类型广告图片素材
  • 房产网站定制做网站做软件怎么赚钱吗
  • 上海网站营销房山网站建设优化seo
  • 免费做微信链接的网站吗邯郸市建设局官方网站
  • 抖音推广平台有哪些优化建议怎么写
  • 如何设计个人网站网站空间域名免费
  • 建个普通网站多少钱网站建设推广刺盾云
  • 网站交换链接的网络营销意义wordpress.org 建站
  • 物流公司在哪做网站农商1号的网站建设费
  • 建设银行信用卡申请网站象山网站建设
  • 学校网站模板html个人网站建设教学视频百度云盘
  • wordpress手机跳转莱芜seo
  • 网站设计外包协议wordpress建站公司
  • 品牌理念设计企业网站建设西安网站建设市场
  • iis 如何新建网站网站开发超速云
  • 网站建设与维护 目录做自媒体的网站名字