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

建设部2018年工作要点网站河北建设集团石家庄分公司

建设部2018年工作要点网站,河北建设集团石家庄分公司,清远城乡住房建设部网站,手机网站静态模板设计模式是一套被广泛应用于软件设计的最佳实践#xff0c;它们可以帮助开发者解决特定的问题#xff0c;提高代码的可重用性、可读性和可维护性。本文将介绍 C# 中常见的几种设计模式#xff0c;并提供相应的示例代码。 工厂模式 工厂模式是一种创建型设计模式#xff0c… 设计模式是一套被广泛应用于软件设计的最佳实践它们可以帮助开发者解决特定的问题提高代码的可重用性、可读性和可维护性。本文将介绍 C# 中常见的几种设计模式并提供相应的示例代码。 工厂模式 工厂模式是一种创建型设计模式它提供了一种将对象的创建过程与使用过程分离的方式。它通过定义一个工厂类使得客户端代码可以从工厂类中获取所需的对象而无需知道对象的具体创建过程。 以下是工厂模式的一个示例 public interface IProduct {void DoSomething(); }public class ProductA : IProduct {public void DoSomething(){Console.WriteLine(ProductA does something.);} }public class ProductB : IProduct {public void DoSomething(){Console.WriteLine(ProductB does something.);} }public class ProductFactory {public IProduct CreateProduct(string type){switch (type){case A:return new ProductA();case B:return new ProductB();default:throw new ArgumentException(Invalid product type);}} }class Program {static void Main(string[] args){ProductFactory factory new ProductFactory();IProduct productA factory.CreateProduct(A);IProduct productB factory.CreateProduct(B);productA.DoSomething();productB.DoSomething();Console.ReadKey();} } 在上面的示例中我们定义了 IProduct 接口和两个实现类 ProductA 和 ProductB。然后我们定义了一个工厂类 ProductFactory它可以根据客户端代码传入的参数创建不同的产品对象。 在客户端代码中我们实例化了 ProductFactory 并通过它创建了两个不同的产品对象。这种方式可以使得客户端代码不需要知道对象的具体创建过程从而提高了代码的可重用性和可维护性。 单例模式 单例模式是一种创建型设计模式它保证一个类只有一个实例并提供了全局访问该实例的方式。 以下是单例模式的一个示例 public class Singleton {private static Singleton instance;private Singleton() { }public static Singleton Instance{get{if (instance null){instance new Singleton();}return instance;}}public void DoSomething(){Console.WriteLine(Singleton does something.);} }class Program {static void Main(string[] args){Singleton singleton Singleton.Instance;singleton.DoSomething();Console.ReadKey();} } 在上面的示例中我们定义了一个 Singleton 类并通过将构造函数私有化来防止外部直接实例化它。然后我们定义了一个静态字段 instance用来保存 Singleton 类的唯一实例。我们还定义了一个静态属性 Instance通过它来获取 Singleton 类的唯一实例。 在客户端代码中我们通过 Singleton.Instance 获取 Singleton 类的唯一实例并调用它的 DoSomething 方法。由于 Singleton 类只有一个实例因此多次调用 Singleton.Instance 得到的都是同一个实例。 观察者模式 观察者模式是一种行为型设计模式它定义了一种一对多的依赖关系使得多个观察者对象可以同时监听某个主题对象的状态变化。 以下是观察者模式的一个示例 public interface IObserver {void Update(string message); }public interface ISubject {void RegisterObserver(IObserver observer);void RemoveObserver(IObserver observer);void NotifyObservers(string message); }public class Subject : ISubject {private ListIObserver observers new ListIObserver();public void RegisterObserver(IObserver observer){observers.Add(observer);}public void RemoveObserver(IObserver observer){observers.Remove(observer);}public void NotifyObservers(string message){foreach (IObserver observer in observers){observer.Update(message);}} }public class Observer : IObserver {public void Update(string message){Console.WriteLine($Observer received message: {message});} }class Program {static void Main(string[] args){Subject subject new Subject();Observer observer1 new Observer();Observer observer2 new Observer();subject.RegisterObserver(observer1);subject.RegisterObserver(observer2);subject.NotifyObservers(Hello, observers!);subject.RemoveObserver(observer2);subject.NotifyObservers(Hello again, observers!);Console.ReadKey();} } 在上面的示例中我们定义了 IObserver 和 ISubject 接口分别表示观察者和主题对象。然后我们实现了 Subject 类它实现了 ISubject 接口并提供了注册观察者、移除观察者和通知观察者的方法。我们还实现了 Observer 类它实现了 IObserver 接口并在 Update 方法中打印出接收到的消息。 在客户端代码中我们创建了一个 Subject 对象和两个 Observer 对象并通过 RegisterObserver 方法将这两个观察者对象注册到 Subject 对象上。然后我们调用 NotifyObservers 方法将消息发送给所有注册的观察者对象。最后我们通过 RemoveObserver 方法移除了一个观察者对象并再次调用 NotifyObservers 方法发送消息给剩下的观察者对象。 策略模式 策略模式是一种行为型设计模式它定义了一系列算法将每个算法都封装起来并且使它们之间可以互换。 以下是策略模式的一个示例 public interface IStrategy {void Execute(); }public class StrategyA : IStrategy {public void Execute(){Console.WriteLine(Strategy A is executed.);} }public class StrategyB : IStrategy {public void Execute(){Console.WriteLine(Strategy B is executed.);} }public class Context {private IStrategy strategy;public Context(IStrategy strategy){this.strategy strategy;}public void SetStrategy(IStrategy strategy){this.strategy strategy;}public void ExecuteStrategy(){strategy.Execute();} }class Program {static void Main(string[] args){IStrategy strategyA new StrategyA();IStrategy strategyB new StrategyB();Context context new Context(strategyA);context.ExecuteStrategy();context.SetStrategy(strategyB);context.ExecuteStrategy();Console.ReadKey();} } 在上面的示例中我们定义了 IStrategy 接口表示一个算法的接口。然后我们实现了两个具体的策略类 StrategyA 和 StrategyB它们分别实现了 IStrategy 接口。最后我们定义了 Context 类它包含一个 IStrategy 类型的字段和一个 ExecuteStrategy 方法通过它来执行当前策略对象的算法。Context 类还提供了一个 SetStrategy 方法用于在运行时切换策略对象。 在客户端代码中我们创建了一个 Context 对象并将 StrategyA 对象作为它的构造参数。然后我们调用 ExecuteStrategy 方法执行 StrategyA 的算法。接着我们调用 SetStrategy 方法将策略对象切换为 StrategyB再次调用 ExecuteStrategy 方法执行 StrategyB 的算法。 以上是 C# 中几种常见的设计模式以及相应的示例代码。
http://www.hkea.cn/news/14499723/

相关文章:

  • 网站负责人备案采集照具体要求吉林网站推广公司
  • 休闲咖啡厅网站开发目标北京建网站品牌公司
  • 西安 网站建设mvc 做网站
  • 网站建设初期 该如何推广网站到期续费吗
  • 做阿里巴巴小企业网站重庆建设工程信息网官网加密锁安装驱动
  • 网站gif图标寻找定制型网站建设
  • 新手制作网站wordpress+模版+推荐
  • 云南省城乡和住房建设厅网站接家装活找哪个平台
  • 重庆网站联盟网页展示模板
  • 品牌整合营销推广seo产品
  • python做视频网站北京朝阳区互联网公司有哪些
  • 做视频添加字幕的网站怎么网站推广
  • 建设网站的技术网站开发 实战
  • 哪种网站重庆皇华建设集团有限公司网站
  • 一条龙建设网站备案做电影网站
  • 58网站怎么做浏览度才高帮别人发广告赚钱平台
  • 网站建设多久能学会wordpress登录注册界面
  • 厦门海沧网站建设专题学习网站开发流程
  • 企业网站建设过程淘宝客导购网站源码
  • 网站建设项目步骤百度软件中心下载安装
  • 响应式网站自助建站wordpress小工具放入用户中心
  • 龙岗网站设计信息定制网站建设需要多少钱
  • 网页设计网站题目福建网站模板
  • 厦门自主建站模板做销售怎么找优质资源网站
  • 网站开发应该怎么学网站后台设计教程视频
  • 增加网站广告位课程网站建设的目的意义
  • 竹业网站建设wordpress 显示指定文章标题
  • 常德网站建设制作广州营销型网站建设价格
  • 做视频营销哪个网站好wordpress 设置固定链接
  • 公司做推广做网站好还是企业展厅综合建设公司