通讯兵(Chain of Responsibility)

告别MRT!用ArcGIS脚本批量处理MODIS数据,从HDF到NDVI/ET成品图全流程(附Python代码) 本文详细介绍了使用ArcGIS Python脚本自动化处理MODIS数据的全流程,从HDF文件提取到生成NDVI/ET成品图。通过优化子数据集提取、智能镶嵌策略和投影转换等核心步骤,大幅提升处理效率,告别传统MRT工具的手工操作。附带的Python代码可直接应用于实际项目,特别适合批量处理大规模遥感数据。 阅读详情

 

如果看英文名字的话你可能会想到责任链.其定义为使多个对象都有机会处理

请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,

并沿着这条链传递该请求,直到有一个对象处理它为止。那么可能会误解.

其实这个模式很类似消息通讯.也就好象是在对应的消息函数.至少我看完这个

模式首先想到的就是这个.的确也是十分象.你甚至也可以构造一个句柄来判断消息

处理函数.当然我们没必要那么些select ...case  ....那不方便.而且

要适合面向对象原则.其实这很灵活可以想到的代码方案很多.单必须考虑

1.要适合扩充.2.要调用方便.下面是我提供的一组解决方案

假设.一个家长对他的孩子有一下消息"吃饭" "睡觉" "读书",吃饭必须要在

餐厅.睡觉在卧室.读书在图书管

//构造消息句柄

public interface IHandler{
    //string HandlerName{get;}
    void  Request();
}

//事件
public class DiningHandler : IHandler{
    public void  Request(){
          Console.WriteLine("吃饭");
    }
}

public class RestHandler : IHandler{
    public void  Request(){
          Console.WriteLine("睡觉");
    }
}

public class ReadHandler : IHandler{
    public void  Request(){
          Console.WriteLine("读书");
    }
}

//事件管理者
public class ManagerHandler {
     public IHandler source;//事件源
   
     public ManagerHandler(IHandler s){
         this.source=s;
     }

     public void Execute(IRequest request){
            request.Execute(this.source);//有实际的处理器来执行
     }
}

//处理器
public interface IRequest{
     void Execute (Ihandler source);
}

public class myRequest : IRequest{
    
   public  void Execute (Ihandler source){
         source.Request();       
   }
}

//客户调用
public class Client
    {
        public static int Main(string[] args)
        {
            IHandler Dining=new DiningHanlder();
            IHandler Rest=new RestHandler();
            IHandler Read=new ReadHandler();

            MangerHandler mh=new MangerHandler(Rest);
            IRequest mr=new myRequest();
           
            mh.Execute(mr);

            mh.source=Dining;
            mh.Execute(mr); 
            return 0;
        }
    }
}

crowdcountingp2p代码复现 前面学习了一下论文:Improved Field-Based Soybean Seed Counting and Localization with Feature Level Considered该论文的模型原型由CrowdCounting-P2PNet改进而来这里先复现一下CrowdCounting-P2PNet模型,然后再学习P2PNet-Soy模型。 阅读详情

相关推荐

随机变量序列 收敛 检验 matlab,利用MATLAB验证样条插值的收敛性

问题提出多项式插值是不收敛的,即插值的节点多,效果不一定就好。对样条函数插值又如何呢?理论上证明样条插值的收敛性是比较困难的,但通过本实验可以验证这一理论结果。.实验内容请按一定的规则分别选择等距或者非等距的插值节点,并不断增加插值节点的个数。考虑实验2.1中的函数或选择其他你有兴趣的函数。(中函数)。实验要求(1)随节点个数增加,比较被逼近函数和样条插值函数误差的变化情况。分析所得结果并与拉格朗...

weixin_30895121的博客 4735

Chain Of Responsibility

责任链设计模式,使链上每个节点都有机会处理请求。将处理对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。

传说今天不多说 545

Ships Dataset:解锁海洋探索的数字宝库

在海上交通管理中,通过对船舶的持续跟踪,可以及时发现船舶的异常行为,如偏离航线、超速等,保障海上航行的安全。例如,通过分析船舶的航行数据和位置信息,合理安排船舶的停靠时间和装卸货物顺序,避免港口拥堵,提高船舶的周转率。同时,还精确标注了船舶在图像中的位置坐标,通过这些坐标,我们可以准确地定位船舶在图像中的具体位置,为后续的分析和处理提供了精确的依据。从繁忙运输货物的货船,到承载着能源使命的油轮,再到穿梭于海洋寻找鱼群的渔船 ,每一种船舶都有着独特的外形和功能,在数据集中留下了它们的身影。

qq_38220914的博客 1267

Chain of Responsibility

#include "stdafx.h"#include #include #include using namespace std;using namespace boost;/*** @brief Chain Of Responsibility 职责链模式,属于GOF 23种设置模式中的行为模式的一种* 意图: 使多个对象都有机会处理请求,从而避免

沙漠黑鸟的专栏 774

MATLAB实战:手把手教你实现Gardner环路位同步(附完整代码)

本文通过MATLAB实战,详细讲解了Gardner环路位同步算法的原理与实现。内容涵盖插值滤波器、定时误差检测、环路滤波器与数控振荡器等核心模块,并提供完整代码和调试技巧,帮助读者掌握数字通信中关键的符号定时同步技术。

weixin_29048775的博客 174

Qt绘图实战:用QGraphicsItem实现可拖拽箭头连接(附完整代码)

本文详细介绍了如何使用Qt的QGraphicsItem框架实现一个功能完备的可拖拽箭头连接组件。通过核心代码示例,讲解了如何创建自定义图形项、实现智能吸附、碰撞检测以及实时拖拽编辑路径,为构建流程图、拓扑图等专业图形编辑器提供了完整的解决方案。

m2n3b4v5c6的博客 626

东华大学 2022 oj c++ 无超纲写法 简单易懂 繁忙的通讯兵

oj c++ 无超纲写法 简单易懂 繁忙的通讯兵

Haruki_Setsuna的博客 533

【基于51】红外寻迹智能小车 - 代码篇

这是一个基于C51单片机的红外巡线智能小车,是一个适合嵌入式单片机、C语言初学者练习的小Demo,文章提供完整的项目思路、免费的源代码。

ZER00000001的博客 3万+

通讯兵(Chain of Responsibility) (转)

通讯兵(Chain of Responsibility) (转)[@more@] 如果看英文名字的话你可能会想到责任链.其定义为使多个对象都有机会处理 请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链...

cuiji1279的博客 126

Kubernetes 集群升级与备份恢复:从 1.24 到 1.30 的平滑升级实战

详解 Kubernetes 集群版本升级流程(kubeadm 方式),包括前置检查、组件逐个升级、节点排水与恢复,同时演示 etcd 备份与集群灾难恢复方案。

kaixin110a的博客 35

vue2 - 详细实现播放AMR格式音频并实现自定义播放器样式,支持amr音频文件在线地址URL播放、调用服务端API接口获取二进制文件流amr形式、用户本地上传amr文件并实现立即播放(详细代码)

vue2,amr,amr文件播放,vue播放amr音频文件以及在线url跨域问题解决,vue使用audio标签播放amr音频,amr跨域解决,amr网页解码播放,文件上传后怎么播放,vue2播放.amr语音文件,api接口形式调用获取的amr如何播放,vue中如何使用audio元素播放AMR格式的文件,进度条,vue前端如何播放AMR格式的音频文件,vue播放语音文件AMR格式,播放amr格式音频AMR录音机,h5原生audio播放amr格式的音频,VUE2使用benz-amr-recorder 实现解码、

✅ 精选推荐文章 7414

C#中多重继承

其实想写这篇文章,是因为突然在整理论坛上的帖子的时候,突然发现一个人问我如何才能在C#中实现多重继承,当时我答的很隐晦,因此这里我想补充说明一下.首先,我要说明一下,C#中是没有类的多重继承这个概念.要使用多重继承必须要通过接口Interface来完成.可是大家都知道Interface实际上就是一个虚函数列表指针.内部封装的只有函数和属性.而且接口(Interface)不能实力化只能通过派生(

何双江(yarshray)的专栏 6491

HFSS实战项目——高带外抑制特性SIW带通滤波器

本文对单级滤波器和双级滤波器的设计、工作原理及仿真结果进行了详细分析,并验证了双级SIW带通滤波器在性能方面的优越性,为微波通信系统中滤波器的设计和应用提供了重要参考。

2401_87464239的博客 1815

前人栽树后人乘凉(Template)

 这个模式可能是目前最简单的模式了.因为几乎所有的面向对象语言都支持抽象因为.毕竟这是面向对象的基本法则.而Template的模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,这在明确不过了.就是使用抽象类.所以几乎不用太过多的介绍什么.不过考虑到要写完所有的23种模式所以,还是写一篇吧虽然简单.但是常见.也很通用.假如我们要设计一个容器.而容器的样式无法提前确定,

何双江(yarshray)的专栏 1467

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

魔法牌里的模式(Bridge)

 不知道各位有没有玩过魔法牌.基本分也两种.一种称为攻击卡.另一种称为辅助卡片.攻击卡负责攻击.而辅助卡则负责效果.例如加强攻击效果.或者减弱敌方攻击效果等等这样看了.实现部分是就是所谓的攻击卡.而抽象部分就是效果卡.他们有联系可是联系并非平行的联系.也就是说并不象如同剑士可以派生出魔法剑士,光明剑士等这样的情况攻击效果卡.和攻击卡本身的联系不是静态的可以通过继承来完成的.而是

何双江(yarshray)的专栏 1459

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

中介者(Mediator)

 这个模式的定义就很简单用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。好处是什么呢?很显然就是为了降低复杂度.使的原本使多对多关系.现在变成了1对多关系.因为所有对象都只和Mediator中介者单线联系.而中介者隐士的包含了对象之间的关系.下面还是举个简单的事例.如:小王要把稿件交给小李.小李要

何双江(yarshray)的专栏 1322

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

决策者得选择(Strategy)

 我们似乎总是在为选择这个词苦恼.当我们选择生活得时候就放弃了激情.当我们选择程序员得时候就放弃了时间.这一切都是在动态得抉择得.并非有命运决定.而是在动态得自身来决定.好了现在考虑一个比较现实得问题.假设.如果你有个临时会议.却无法确定什么时候要去.因为是临时决定得.就无法决定.如果现在得时间是5:00--6:00那么你必须要去参加.否则你依然可以留在公司办公.且开会和办

何双江(yarshray)的专栏 1290

由实例计数器引出(C#)

由实例计数器引出(C#)好久没发表文章了,说也有趣,突然感觉C#中的有些类,为什么,其构造器是不可见的?而且通常这些类在一个程序中往往只有一个实例存在。于是,我做了个实验结果如下:由该例子引出:using System;   namespace ConsoleApplication1{ ///  /// Class1 的摘要说明。 ///  class Class1 {  ///   

何双江(yarshray)的专栏 1268

执行方案(Command)

 这个模式.可能是变化比较多的一个模式.也是最没有定型的一个模式.因为相对比较灵活.常见的是对GUI图形界面的命令封装这样即使更改界面元素只要功能不变那么也不影响执行效果.就如同以前面向过程的编程环境那要.吧功能封装到多个过程.进行调用.但是Command模式.又一个优点就是可以还原把以前做过的工作还原到未做工作之前.这个也就是事务性.这就必须要一个事务列表来维护.事务回滚

何双江(yarshray)的专栏 1253

随着变化而变化(Observer)

 对于很多事物.都在不断变化.也就是说.在不断变化的情况下.我们必须能够得到其相互关联的对象之间的变化.也就是能够通知到其他对象.但不同于牵一动百的情况因为毕竟只是告诉相互关联的对象与之对应的数值才发生变化.换句话就是某个对象的状态发生变化.于它相对应的一组对象将要随着变化.这里就引出了观察者.通知者的对应关系.观察者发现变化.通知者就告诉每个与之相关的对象都发生相应的变化.

何双江(yarshray)的专栏 1229

旅行中的状态(state)

 我不知道我的这个标题是否合适.反正不管了.我只是希望用轻松的写法把设计模式表示清楚.(当然也许不清楚)反正我就怎么写了.OK,现在好了.如果在旅行中一个旅者有很多种状态.这些状态会直接影响到他的行为.例如.饿了就去吃饭.渴了就要喝水.累了就要休息.正常状态就要继续旅行.并且这些状态相互切换.那么你会怎么做?如果是我.我首先会想到使用开关.那要直观简单.Ok那我们就那么做enum mySt

何双江(yarshray)的专栏 1223

让你插上翅膀(Decorator)

 对你的对象进行扩展这是在平常不过的事情了.问题是,你该如何做?很多方案不是吗?例如派生子类是的.这是个不错的方案.可是如果是在这样一种情况.我们需要在运行期间添加功能并且有客户程序来决定合适添加何种功能.那么单纯的扩展子类对象能够办到吗?那么我们必须想办法新的办法了.是的.你也许已经想到我要说的Decorator模式了吧.由它来帮你在想要的时候插上翅膀.通过接口来组合是个非常

何双江(yarshray)的专栏 1202

魔力拼图(Builder)

 假如有一种拼图可以拼贴成任何图形.那么我们只要生产出这种拼图的单个部件就可以了.那样就会使复杂的图形变的简单化.也就是说我们只用设计每一个单个步骤就可以了.这样做的好处是什么呢?很显然.我们在利用元件生产产品.而不需要直接生产一个巨大的产品.因为可能这些元件本身就具有通用性.另外的好处是.来自与其本身的复杂性.因为要生产就必须要组装.而把生产和组装分开来考虑.那么复杂性就会有

何双江(yarshray)的专栏 1192

我的代理人(Proxy)

 很显然.我们目前所生活的世界里.到处都有这类人.他们很愿意帮助我们去完成我自身完成起来很困难的工作.愿意充当一个中间层.在这一个层次中.Proxy代理就是主导.他会为我们处理那些看上去很别扭的事情.毕竟我们的目的是制定总体方针.儿细节可以交给代理来完成.事实上,很多情况.我们都用到了代理.例如典型的我们在.NET中使用WebService就已经在使用Proxy.通过这个代理和实际的远程对象打

何双江(yarshray)的专栏 1182

订阅属于自己得资料(Visitor)

 有时候.我们总是不希望出现不速之客.而是更希望来的是我们的朋友.可是如果用一支普通的笔把所有人的名字记录下来我们很难判断那些才是我们的朋友.所以.如果有一支友情之笔和一个之能呈现友情之笔的笔记本.那么情况就好的多了.就如同当你使用ArrayList或Hashtable之类的容器装载数据的时候.所有的数据都别染成了同样的颜色---object 而你必须时刻判断是否你想要的数据类

何双江(yarshray)的专栏 1172

共同的天空(FlyWeight)

 很多情况下.大量的类似之处使得我们不得不为重复的数据使用少的可怜的内存.这样的情况很糟糕.既然如此.我们必须找到一个好的办法.把那些可能重复的数据统一管理这样是在合理不过的事情了.好的..我们应该从如下几个方面来考虑.首先要找出对象之间的共同之处.这部分是可以共享.那么就需要封装到一个类中.那么剩下的不能共享的就只好封装到另外的类中.换句话说.就是把对象的粒度扩大.让FlyW

何双江(yarshray)的专栏 1158
上一篇: 决策者得选择(Strategy)
下一篇: 中介者(Mediator)
yarshray
博客等级 码龄25年 72粉丝 62原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值