首页 > 其他分享 >设计模式

设计模式

时间:2024-01-23 20:45:35浏览次数:25  
标签:set string get class PLC 设计模式 public

 /// <summary>
 /// PLC处理器
 /// </summary>
 public interface IPlcHandler
 {
     void Request(IPlcContext context);
 }

 /// <summary>
 /// PLC的数据上下文
 /// </summary>
 public interface IPlcContext
 {
     PlcRequest Request { get; }

     PlcResponse Response { get; }

     //PLC处理器
     IPlcHandler Handler { get; }

     //请求参数
     IDictionary<string, object?> Parameters { get; }
 }

 public class PlcRequest: PlcBase
 {
     //目标IP
     public string Ip {  get; set; }

     //保持连接
     public bool KeepAlive { get; set; }

     public FastData[] DefaultData { get; set; }
 }

 public class PlcResponse: PlcBase
 {
     public PlcStatusCode StatusCode { get; set; } = PlcStatusCode.Ok;

     //状态描述
     public string? StatusDescription { get; set; }
 }

 //里面封装了一些简单的经常会用到的,公共区数据,
 public class FastData
 {
     public DateTime DateTime { get; set; }
     public string Name { get; set; }
     public string Value { get; set; }
     public string Type { get; set; }
     public string TypeCode { get; set; }

     public void SaveData()
     {

     }
 }

 /// <summary>
 /// PLC和上位机通信的状态码
 /// </summary>
 public enum PlcStatusCode
 {
     Ok=200,
     Error=404,
     Fail=500,
 }

 //PLC的基类
 public abstract class PlcBase
 {
     public int ContentLength { get; set; } = -1;
     public string? ContentType { get; set; }

     public IDictionary<string, string> Headers { get; set; } = new NullableDictionary<string, string>(StringComparer.OrdinalIgnoreCase);

     public string this[string key]
     {
         get
         {
             return Headers[key] ?? "";
         }
         set
         {
             Headers[key] = value;
         }
     }
 }

标签:set,string,get,class,PLC,设计模式,public
From: https://www.cnblogs.com/guchen33/p/17983378

相关文章

  • 设计模式之模板方法
    1.定义定义了一个算法的框架,并允许子类重写其中的某些步骤,而不改变算法的结构2.口语化表述模板方法其实在日常生活中已经很常见,所谓模板方法,就是事先约定好一些事情,后续做时再慢慢实现或者修改,比如组装电脑假设现在需要组装一台台式电脑,一开始计划使用3090显卡,后来根据实际......
  • 设计模式:行为型模式(套路:甩锅大法)
    文章目录行为型模式(BehavioralPattern)1.职责链模式(ChainofResponsibility)1.1.定义1.2.结构1.3.代码实现1.4.优缺点1.5.使用场景1.6.总结2.命令模式(Command)2.1.定义2.2.结构2.3.时序图2.4.代码实现2.5.优缺点2.6.使用场景2.7.总结3.解释器模式(Inter......
  • 设计模式之策略模式
    1.定义定义一系列算法,并将每个算法封装成一个独立的类,使它们可以相互替换2.口语化表述策略模式通常适用于需要根据不同情况选择不同算法的场景,例如排序算法、计算税费等现在说说排序算法,常见的排序算法包括冒泡排序、选择排序、插入排序、快速排序、归并排序等,每种排序算法......
  • 设计模式——组合模式
    定义组合(CompositePattern)模式的定义:有时又叫作整体-部分(Part-Whole)模式,它是一种将对象组合成树状的层次结构的模式,用来表示“整体-部分”的关系,使用户对单个对象和组合对象具有一致的访问性,属于结构型设计模式。节点组合模式结构为一颗二叉树,存在三种节点Component:组合模式......
  • 【Python进阶】Python设计模式
    设计模式介绍什么是设计模式设计模式是面对各种问题进行提炼和抽象而形成的解决方案。这些设计方案是前人不断试验,考虑了封装性、复用性、效率、可修改、可移植等各种因素的高度总结。它不限于一种特定的语言,它是一种解决问题的思想和方法为什么要用设计模式按照设计模式编写......
  • 设计模式(二十二)模板方法
    一、定义定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类不改变一个算法的结构即可重定义该算法的特定步骤。模板方法是一种类行为型模式二、描述模板方法模式结构比较简单,其核心是抽象类和其中的模板方法的设计,包含以下两个角色:1、AbstractClass(抽......
  • 设计模式
    八大原则:依开单替,接优封针依:依赖倒置原则高层次的代码不应该依赖低层次的代码,应该依赖抽象、抽象的代码不应该依赖具体的代码开:开闭原则对扩展开放,对修改关闭单:单一职责一个类应该仅有一个变化的原因,该变化隐含了它的职责,职责太多会造成混乱替:替换原则子类必须能够替换他......
  • js设计模式之命令模式
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>命令模式</title></head><body><buttonid="btn1">刷新菜单</button><buttonid="btn2">增......
  • 设计模式—行为型模式之观察者模式
    设计模式—行为型模式之观察者模式观察者模式(ObserverPattern):定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模......
  • js设计模式之观察者模式
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>观察者模式</title></head><body><script>classEvent{constructor(){}//事件容器,可以是一个也可以是......