Event Handler

Disruptor 高性能并发框架二次封装

一个人想着一个人 提交于 2020-07-29 00:46:26
Disruptor是一款java高性能无锁并发处理框架。和JDK中的BlockingQueue有相似处,但是它的处理速度非常快!!!号称“一个线程一秒钟可以处理600W个订单”(反正渣渣电脑是没体会到)。 Disruptor功能十分强大,比如消费者阻塞等待;生产者-消费者一对一、一对多、多对一、多对多;构建消费者串/并行处理链等等。 具体的概念模型可以参考: https://www.cnblogs.com/haiq/p/4112689.html 下面是我基于Disruptor框架封装的工具。采用fluent编码风格,简化了Disruptor的调用。 package com.gravel.demo.test.disruptor; import com.gravel.demo.test.disruptor.base.EventProducer; import com.gravel.demo.test.disruptor.base.Publisher; import com.gravel.demo.test.disruptor.base.PublisherBuilder; /** * @Auther: syh * @Date: 2020/7/8 * @Description: Disruptor 高性能异步处理框架 */ public class DisruptorTest {

UITextField文本更改事件

末鹿安然 提交于 2020-07-27 23:05:48
问题: How can I detect any text changes in a textField? 如何检测textField中的任何文本更改? The delegate method shouldChangeCharactersInRange works for something, but it did not fulfill my need exactly. 委托方法 shouldChangeCharactersInRange 可以为某些事情工作,但它不能完全满足我的需要。 Since until it returns YES, the textField texts are not available to other observer methods. 因为直到返回YES,否则textField文本不可用于其他观察者方法。 eg in my code calculateAndUpdateTextFields did not get the updated text, the user has typed. 例如,在我的代码中,用户已键入, calculateAndUpdateTextFields 未获取更新的文本。 Is their any way to get something like textChanged Java event handler.

WPF Binding实现自推——强烈要求拍砖

北城余情 提交于 2020-05-03 13:46:41
原文: WPF Binding实现自推——强烈要求拍砖 因为项目经常碰到Binding的问题,常常不能联动,所以才进行了分析,我解决方法的思路比较死板:定义问题 ->分解问题 ->初步解决问题 ->优化解法。在解决问题过程中是有收获的,所以分享下心得,也希望各位大大能够帮助小弟查验下思路是否正确,帮忙解解惑,在这里先谢过了。 当然推理这段是和WPF无关的,先有WPF的做法才有WPF的,还请各位不要因为WPF而却步 。 一.定义问题 我们先从最简单的推断,建立2个类,见代码: public class Class1 { public int Count1{ get ; set ;} } public class Class2 { public int Count2{ get ; set ;} } class Program { static void Main( string [] args) { Class1 class1 = new Class1 (); Class2 class2 = new Class2 (); //TODO: //********************************************** //填写内容补充代码,可修改Class1,Class2 //要求:Class1和Class2不能互相知道 //**********************

从壹开始前后端分离 [.netCore 填坑 ] 三十二║ 四种方法快速实现项目的半自动化搭建

牧云@^-^@ 提交于 2020-05-02 09:09:20
更新 1、更新小伙伴 @ 大龄Giser 提出好点子:试试VS的插件扩展:VSIX、ItemProject等,将T4模板给制作插件,这里先记下,有懂的小伙伴可以自己先试试,我会在以后更新。 2、感谢小伙伴 @ 博客园董事长 的测试和指正,本文 T4 模板已经支持 Oracle 3、再次感谢小伙伴 @ 大龄Gise r 关于 使用VSIX+ProjectTemplate创建项目模板, 提供开源支持: https://www.cnblogs.com/OlderGiser/p/9796403.html 4、感谢群小伙伴 @ jamee1696 提供技术支持,本文 T4 模板已经支持 Mysql 5、如果感觉 Blog.Core.Framework 层比较笨重,我单写了一个简单的生成框架文件的接口,可以查看 DbFirstController.cs 【推荐使用】 缘起 哈喽大家周二好呀,这个国庆过的真是懒洋洋呀,不知道大家的学习动力咋样了,刚一上班本人手中的项目也增加了,但是还是要抽出时间学习哒,为了不让老板大大天天催,所以更新会慢点儿 [ 哭笑 ] : bowtie: ,不过在我的推荐下,公司下一个项目要我负责前后端分离,终于可以将这些派上用场了,中间的坑也会在以后的文章中,慢慢补充出来。 这几天简单想了想,还没有想好要开什么系列

(三十二)c#Winform自定义控件-表格-HZHControls

左心房为你撑大大i 提交于 2020-04-29 01:24:13
官网 http://www.hzhcontrols.com 前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章。 GitHub: https://github.com/kwwwvagaa/NetWinformControl 码云: https://gitee.com/kwwwvagaa/net_winform_custom_control.git 如果觉得写的还行,请点个 star 支持一下吧 欢迎前来交流探讨: 企鹅群568015492 目录 https://www.cnblogs.com/bfyx/p/11364884.html 准备工作 表格控件将拆分为2部分,1:行元素控件,2:列表控件 为了具有更好的扩展性,更加的open,使用接口对行元素进行约束,当行样式或功能不满足你的需求的时候,可以自定义一个行元素,实现接口控件,然后将类型指定给列表控件即可 表格控件用到了分页控件,如果你还没有对分页控件进行了解,请移步查看 (十二)c#Winform自定义控件-分页控件 开始 定义一些辅助东西 1 public class DataGridViewCellEntity 2 { 3 public string Title { get ; set ; } 4 public int Width { get ; set ; } 5 public System

element ui 中的 resetFields() 报错'resetFields' of undefined

独自空忆成欢 提交于 2020-04-28 18:51:25
  每次做各种form表单时,首先要注意的是初始化,但是刚开始若没有仔细看文档,则会自己写个方法将数据设置为空,但是这样就会出现一个问题,表单内存在各种验证,假如是一个弹框内有form表单,弹框出现就执行上述代码,可能会出现表单验证的错误提示仍然保留的情况。 element UI 官方文档提供了一个resetFields()的方法 this.$refs[formName].resetFields() 不仅可以帮你初始化数据,还可以将验证提示消除!!! 但是在使用时踩了一些坑, 编辑和新增使用了同一个弹出框 <el-dialog><el-form></el-form></el-dialog> 绑定了数据data里的commentForm对象 为了在新增弹出框清空表单, 使用了 this.$refs[formName].resetFields() 每次第一次点击新增显示弹出框,都会报错 "[Vue warn]: Error in event handler for "click": "TypeError: Cannot read property 'resetFields' of undefined"" 问题原因: mouted加载table数据以后,隐藏的弹出框并没有编译渲染进dom里面。 所以 @click="dialogFormVisible = true;resetForm(

Axon 3.0.x 框架简介官方文档

守給你的承諾、 提交于 2020-04-27 20:46:10
因为需要用到,但是在网上对应的资料实在是很少,只有迎着头皮看官网文档并配合翻译器。如有误导多多包涵。 Axon 什么是 Axon Axon Framework 通过支持开发人员应用命令查询责任隔离(CQRS)架构模式来帮助构建可扩展和可维护的应用程序。它通过提供最重要的构建块(例如聚合,存储库和事件总线(事件的分发机制))的实现来实现。此外 Axon 提供注释支持,它使您可以构建聚合和事件侦听器,而无需将代码与 Axon 特定的逻辑绑定在一起。这使您可以专注于业务逻辑而不是管道,并可以使您的代码更易于独立测试。 并非每个应用程序都会从 Axon 中受益。不期望扩展的简单 CRUD 应用程序可能不会从 CQRS 或 Axon 中受益。然而,有各种各样的应用程序确实受益于 Axon。 可能受益于 CQRS 和 Axon 的应用: (系统功能需要频繁迭代新功能)应用程序很可能在很长一段时间内使用新功能进行扩展。例如,在线商店可能从订单模块进度的系统开始。在稍后阶段,这可以通过库存信息进行扩展,以确保库存在出售时得到更新。甚至在以后,会计可以要求记录销售的财务统计,等等。虽然很难预测软件项目在未来将如何发展,但大多数这类应用程序都是这样的。 (频繁读写的应用)应用程序具有高的读写比。这意味着数据只写几次,并多次读。由于查询的数据源与用于命令验证的数据源不同

C#接口与抽象类学习笔记

我与影子孤独终老i 提交于 2020-04-26 13:51:21
本笔记摘抄自: https://www.cnblogs.com/solan/archive/2012/08/01/CSharp06.html ,记录一下学习过程以备后续查用。 摘要: 抽象类:是一种特殊的类,可以定义具有实现的方法,也可以定义未实现的方法契约,本身不能被实例化,只能在派生类中进行实例化。接口:对一 组方法签名进行统一的命名,只能定义未实现的方法契约,本身也不能被实例化,只能在实现类中进行实例化。 二者都可以有部分数据成员(如:属性),它们貌似有着相同的“契约”功能,但对各自的派生类(实现类)又有着不同的要求,那么,到底它们有何 异同呢?下面将从四个方面来讲解它们的相同与不同之处。 一、定义 抽象类 不能实例化。抽象类的用途是提供多个派生类可共享的基类的公共定义,是对类进行抽象,可以有实现,也可以不实现。使用关键字abstract 进行定义。 下面定义一个抽象类: public abstract class Code_06_03 { } 通过ISDASM来看一下生成的IL: . class abstract auto ansi nested public beforefieldinit Code_06_03 extends [mscorlib]System.Object { } // end of class Code_06_03 可以看以

C#接口与抽象类学习笔记

时光怂恿深爱的人放手 提交于 2020-04-26 11:35:42
本笔记摘抄自: https://www.cnblogs.com/solan/archive/2012/08/01/CSharp06.html ,记录一下学习过程以备后续查用。 摘要: 抽象类:是一种特殊的类,可以定义具有实现的方法,也可以定义未实现的方法契约,本身不能被实例化,只能在派生类中进行实例化。接口:对一 组方法签名进行统一的命名,只能定义未实现的方法契约,本身也不能被实例化,只能在实现类中进行实例化。 二者都可以有部分数据成员(如:属性),它们貌似有着相同的“契约”功能,但对各自的派生类(实现类)又有着不同的要求,那么,到底它们有何 异同呢?下面将从四个方面来讲解它们的相同与不同之处。 一、定义 抽象类 不能实例化。抽象类的用途是提供多个派生类可共享的基类的公共定义,是对类进行抽象,可以有实现,也可以不实现。使用关键字abstract 进行定义。 下面定义一个抽象类: public abstract class Code_06_03 { } 通过ISDASM来看一下生成的IL: . class abstract auto ansi nested public beforefieldinit Code_06_03 extends [mscorlib]System.Object { } // end of class Code_06_03 可以看以

C# 基础知识系列- 11 委托和事件

喜你入骨 提交于 2020-04-21 10:49:44
0. 前言 事件和委托是C#中的高级特性,也是C#中很有意思的一部分。出现事件的地方,必然有委托出现;而委托则不一定会有事件出现。那为什么会出现这样的关系呢?这就需要从事件和委托的定义出发,了解其中的内在。 1. 委托 说起委托,就不得不回忆一下之前在Linq篇中介绍的匿名方法,其中提到了Func和Action这两个类型。这两个类型就是委托。 委托在C#中定义为一种面向对象形式的方法寻址方案。简单来讲,就是定义一个类型,然后表示这个类型代表某一种方法。而委托对象,就是方法参数化。委托可以实现将方法当做一个参数传递给另一个方法,也可以认为是反射中的MethodInfo的一种特例(实际上并没有太多关系)。 委托不关心方法叫什么,也不关心方法从哪来(归属于哪个类或者哪个对象),只关心方法需要哪些参数,返回什么类型。 说到这里,我们来看一下如何定义一个委托吧,委托的定义形式如下: delegate <返回类型> 委托名(参数列表);//参数列表代表任意个参数 由之前的定义形式,我们可以知道委托也是一种类型,所以它的定义也符合类型的定义规范。现在我们定义一个没有返回值也没有参数类型的委托作为我们创建的第一个委托: public delegate void FirstDel();// 类型名称是 FirstDel 简单的使用一下: FirstDel del ; del();// 会直接报错