摘要: JointCode.Shuttle 是一个用于进程内 AppDomain 间通信的服务架构(不支持跨进程),它旨在取代运行时库提供的 MarshalByrefObject 的功能。 本文比较了 MarshalByrefObject 与 JointCode.Shuttle 的跨 AppDomain 对 阅读全文
posted @ 2017-07-18 13:30 Johnny.Liu 阅读(412) 评论(0) 推荐(1) 编辑
摘要: JointCode.Shuttle 是一个用于进程内 AppDomain 间通信的服务架构(不支持跨进程),它旨在取代运行时库提供的 MarshalByrefObject 的功能。 1. 使用场景 在 .net / mono 开发中,一般不太需要创建新的 AppDomain,但在一些 特定情况 下, 阅读全文
posted @ 2017-07-17 16:32 Johnny.Liu 阅读(681) 评论(1) 推荐(0) 编辑
摘要: IoC/DI 这个概念,最初是由Martin Fowler 提出来的。之后,很快在 Java 社区大行其道。在 .net 社区,IoC 的流行要比 Java 晚一些。尽管如此,现在开源社区中也已经出现了很多使用 .net 编写的 IoC 框架,比较有代表性的有:Castle Windsor/Spri... 阅读全文
posted @ 2014-09-12 12:20 Johnny.Liu 阅读(1079) 评论(0) 推荐(0) 编辑
摘要: My.Ioc 是作者开发的一款开源 IoC/DI 框架,下载地址在此处。它具有下面一些特点:高效在实现手段上,My.Ioc 通过使用泛型、缓存、动态生成代码、延迟注册、尽量使用抽象类而非接口等方式来提高框架的性能。如果您想进一步了解通过上面这些手段,我们能够获得怎样的性能,请看这篇文章。便于扩展在设... 阅读全文
posted @ 2014-09-03 08:31 Johnny.Liu 阅读(1817) 评论(9) 推荐(1) 编辑
摘要: 实现 Aop 的方法有很多,有人给总结了一下,至少有以下几种: Approach 方法 Advantages 优点 Disadvantages 缺点 Remoting Proxies 远程代理 Easy to implement, because of the .Net framework supp 阅读全文
posted @ 2017-07-24 12:18 Johnny.Liu 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 缘起 一般在做 WINFORM 开发时,通常都是将很多业务逻辑直接写在 Form 的事件代码里,造成业务逻辑就和界面逻辑紧密耦合在一起。这种情况下,如果业务逻辑稍有变化,涉及的改动量非常大,甚至于整个界面可能都需要重新调整,测试起来也很麻烦。 几年前,给某市城管委做一个瓶装液化气智能监管信息项目,就 阅读全文
posted @ 2017-07-24 09:51 Johnny.Liu 阅读(978) 评论(2) 推荐(0) 编辑
摘要: JointCode.Shuttle 是一个用于进程内 AppDomain 间通信的服务架构(不支持跨进程),它旨在取代运行时库提供的 MarshalByrefObject 的功能。 本文主要介绍如何通过 JointCode.Shuttle 访问任意 AppDomain 的服务。 当我们要进行跨 Ap 阅读全文
posted @ 2017-07-20 14:07 Johnny.Liu 阅读(279) 评论(0) 推荐(1) 编辑
摘要: JointCode.Shuttle 是一个用于进程内 AppDomain 间通信的服务架构(不支持跨进程),它旨在取代运行时库提供的 MarshalByrefObject 的功能。 本文将介绍如何使用 JointCode.Shuttle 在运行时动态注册 / 注销服务。 假设我们有一个服务契约 A, 阅读全文
posted @ 2017-07-20 13:59 Johnny.Liu 阅读(275) 评论(0) 推荐(0) 编辑
摘要: JointCode.Shuttle 是一个用于进程内 AppDomain 间通信的服务架构(不支持跨进程),它旨在取代运行时库提供的 MarshalByrefObject 的功能。 一般情况下,在进行跨 AppDomain 调用时,大部分人选择使用运行时库默认提供的、基于 MarshalByrefO 阅读全文
posted @ 2017-07-20 13:51 Johnny.Liu 阅读(295) 评论(0) 推荐(0) 编辑
摘要: JointCode.Shuttle 是一个用于进程内 AppDomain 间通信的服务架构(不支持跨进程),它旨在取代运行时库提供的 MarshalByrefObject 的功能。 本文通过一个简单的示例来演示如何使用 JointCode.Shuttle。 JointCode.Shuttle 的发行 阅读全文
posted @ 2017-07-17 18:33 Johnny.Liu 阅读(455) 评论(0) 推荐(0) 编辑
摘要: AppDomain 类似于一个轻量级进程,它是 .net / mono 代码运行时的一个逻辑容器。 一般情况下,我们开发的代码都运行在“运行时”为我们创建的 AppDomain 中(即默认 AppDomain),察觉不到 AppDomain 的存在,也不太需要关注 AppDomain。但在另外一些情 阅读全文
posted @ 2017-07-17 11:48 Johnny.Liu 阅读(3019) 评论(0) 推荐(0) 编辑
摘要: 很多 Ioc 框架在创建对象的过程中,都会采取某种方式来缓存/复用/释放已构建的对象。在 My.Ioc 中,这个目的是通过 Lifetime/ILifetimeScope 来实现的。其中,Lifetime 实现了缓存/复用对象的功能,ILifetimeScope 则实现了复用/释放对象的功能。My.... 阅读全文
posted @ 2014-09-12 19:20 Johnny.Liu 阅读(914) 评论(1) 推荐(0) 编辑