可复用的应用框架(序)

转载 2006年06月13日 17:06:00
   自从2004年7月开始,就一直从事N层C/S结构的服务端的开发,从最初的熟悉各种Windows Socket API、熟悉完成端口模型,探索高效稳定的服务端通信模型,时至今日,慢慢的积累了一些C/S服务端开发的经验,ESFramework便是这些经验的总结。ESFramework的前生是EnterpriseServerBase类库,后来我将EnterpriseServerBase中的Network部分及建立于之上的应用抽象重新整理为ESFramework,这是一套完全可复用的、灵活的、支持3层或4层C/S架构的轻量级的应用框架,并且支持Tcp和Udp协议。ESFramework不仅仅提供了一个基础的C/S框架,而且提供了大量的C/S应用中常用的组件,因此,基于ESFramework,你可以非常快速的构建你的C/S应用。(快速了解

    前面的很多文章,如
.NET平台下可复用的Tcp通信层实现.NET平台下可复用的Tcp通信层实现(续)线程安全的网络流等等,都从某个侧面描述了ESFramework中的部分内容。然而如果要使感兴趣的朋友来使用这个框架,这还有很多的东西需要介绍,接下来一系列的文章会详细的描述这个框架的主要原理、结构、组成、使用方法。毫不夸张的说,所有这些要介绍的东西可以结集成一本书--这也是我当初的想法,现在想想,还是先以blog的形式发表,听取大家更多的建议和意见,来进一步完善这个框架,在此基础之上,以后有时间再结集成书会更好。

    下面将列出介绍的主题(将不断扩充),并为已经介绍的主题加上链接。

一.历史渊源:
(注,“历史渊源”下的文章,是ESFramework形成的足迹,其中的一些具体的接口的定义、实现可能已经有所改变/改善/简化,但是主体思想却是一脉相承的。)
1.企业级服务器设计与实现经验之开篇

2.企业级服务器设计与实现经验之系统框架(一)

3.
企业级服务器设计与实现经验之系统框架(二)--功能/应用服务器主体框架

4.
企业级服务器设计与实现经验之插件系统基础篇

5.企业级服务器设计与实现经验之插件系统--功能插件

6.
插件的“动态替换”

7..NET平台下可复用的Tcp通信层实现

8..NET平台下可复用的Tcp通信层实现(续)

9.线程安全的网络流

10.AgileIM 即时通


二.ESFramework框架

消息部分:
1.
ESFramework介绍之(1)――网络通信消息协议接口IContract

2.ESFramework介绍之(2)――网络通信消息NetMessage
 
3.
ESFramework介绍之(3――消息处理器和处理器工厂

4.ESFramework介绍之(4)――消息拦截器INetMessageHook

5.
ESFramework介绍之(5――消息分派器IMessageDispatcher

6.ESFramework介绍之(30)―― 消息侦察者 INetMessageSpy

7.ESFramework介绍之(31)―― 消息分类及对应的处理器


通信基础设施(Tcp、Udp)
1.
ESFramework介绍之(21)-- Tcp组件接口ITcp介绍

2.
ESFramework介绍之(23)―― AgileTcp

3.
ESFramework介绍之(28)―― Udp组件


基于C/S的4层架构:

1.ESFramework介绍之(6)―― 基于C/S的4层架构概述

2.ESFramework介绍之(10)-- Tcp连接池

3.ESFramework介绍之(11)-- Tcp连接池管理器

4.ESFramework介绍之(12)―― 基于Tcp连接池的消息处理器

5.ESFramework介绍之(13)-- 功能插件处理器工厂

6.ESFramework介绍之(14)-- AS与FS通信方案

7.ESFramework介绍之(15)-- IRAS

8.ESFramework介绍之(17)―― 支持漫游用户和跨区域功能请求

9.ESFramework介绍之(18)―― Tcp用户管理器组件

10.
ESFramework介绍之(19)―― 对动态组ActiveGroup的支持

11.
ESFramework介绍之(24)―― 日志记录IEsbLogger

12.ESFramework介绍之(26)-- 支持复杂插件(InnerDealer 和 InnerDispatcher)

13.
ESFramework介绍之(27)-- 支持OverdueMessage

14.ESFramework介绍之(29)―― 插件公共设施 AddinUtil


15.ESFramework介绍之(33)―― AS与FS通信实现及相关


对客户端的支持:(如果客户端也使用.NET开发,则ESFramework也提供了完善的支持)
1.
ESFramework介绍之(7)-- 服务器代理IServerAgent

2.ESFramework介绍之(8)-- 客户端插件IPassiveAddin

3.ESFramework介绍之(9)-- 插件对(Addin Pair)调试“框架”

4.ESFramework介绍之(16)―― Tcp数据自动发送器ITcpAutoSender

5.ESFramework介绍之(32)―― Tcp客户端核心组件关系图

6.ESFramework介绍之(34)―― ITcpServerAgent和IUdpServerAgent组件关系图

7.ESFramework介绍之(35)―― IMessageTransceiver


部署与自动升级:
1.ESFramewok介绍之(20) -- 插件自动升级

2.ESFramework介绍之(22)-- 服务器系统自动升级


ESFramework 使用技巧:
1.
ESFramewor使用技巧(1)-- ESFramework日志记录器的自动装配

2.ESFramewor使用技巧(2)-- 在插件中使用NHibernate

3.ESFramewor使用技巧(3)-- 在插件中使用Spring.net


ESFramework 解疑:

1.ESFramework解疑 --点滴(不断补充中)


开源ESFramework:
1.ESFramework 即将开源,请大家多提建议!

2.ESFramework源码目录介绍

3.
ESFramework V0.1 源码正式发布!

4.
ESFramework V0.2 源码正式发布!

开源说明:
(1)大家在研究和使用ESFramewok的过程中有任何疑问、建议、意见、想法都可以通过
sky.zhuwei@163.com告知我。我会将典型的议题及解决方案放在ESFramework解疑专栏,所以任何有疑问的朋友可以先在这个专栏搜索答案。
(2)希望大家、整个.NET社群为ESFramework贡献自己的智慧,我相信众多的开发者都会从凝聚了集体智慧的ESFramework受益。请相信,正是“我为人人”的开源精神才会造就“人人为我”共赢局面。
(3)对ESFramework贡献突出的朋友将会记录于“ESFramework贡献者名单”中,随ESFramework一起流传!

下载:
1. 下载:
ESFramework 源码 (V0.1) (VS2003 ,C#)

2. 下载:ESFramework 源码(V0.2)(VS2003 ,C#)

技术支持:
AgileSoft@163.com 、sky.zhuwei@163.com


简单示例:(这些基于ESFramework的示例部分由网友提供)
1.
基于ESFramewok的 客户端和服务端通迅 (基于ESFramework V0.1)(Mediar)

2.
ESFramework应用示例 -- 可复用的FS 源码 (基于ESFramework V0.1)(zhuweisky)

3.
ESFramework应用示例 -- 一个简单的AS实现 源码(基于ESFramework V0.1)(zhuweisky)

4.
ESFramework应用示例 -- 客户端示例AgileIM  源码 (基于ESFramework V0.1)(zhuweisky)

正则序和应用序

最近学习SICP一书中,1.1.5节提到了应用序和正则序。对一个组合式进行求解,解释器对其进行执行求值运算的方式并不是唯一。其中分为两种两种求值模型:正则序求值,以及应用序求值。 正则序:完全展开而...
  • qq_28267025
  • qq_28267025
  • 2017年07月15日 23:22
  • 135

SICP 习题(1.5)解题总结:应用序和正则序

习题1.5 主要讲的是函数参数的求值方式,包括应用序和正则序。解题前如果发现自己对应用序和正则序还不是太清楚,就需要重新看看1.1.5节“过程应用的代换模型”,对应用序和正则序有了较清楚的了解后解习题...
  • keyboardOTA
  • keyboardOTA
  • 2013年08月09日 00:45
  • 4469

Altium Designer应用技巧1: 功能模块的复用方法

Altium Designer应用技巧1: 功能模块的复用方法      我们在使用Altium Designer进行电路图设计时,常会遇到功能模块的复用问题,例如我们经常需要将12V以...
  • qingwufeiyang12346
  • qingwufeiyang12346
  • 2015年05月24日 20:17
  • 2386

MVP模式重用性的一些思考

MVP重用性的一些思考
  • abccjf
  • abccjf
  • 2017年01月18日 18:09
  • 323

适配器模式的理解

适配器模式用于:系统的数据和行为都正确,但接口不符时,应该考虑用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况...
  • wangjinyang_123
  • wangjinyang_123
  • 2014年12月19日 10:48
  • 340

程序员如何谋划出月薪三万

欣赏原文请点此链接程序员如何谋划出月薪 3 万不久前我发表了一篇文章,“月薪3万的程序员都避开了哪些坑”,在我的微信订阅号“程序视界”、CSDN博客、简书等平台都受了非常广泛的关注,点击量和评论出奇的...
  • wzz4420381
  • wzz4420381
  • 2016年01月05日 19:55
  • 715

React学习笔记—组件复用

Prop 验证随着应用不断变大,保证组件被正确使用变得非常有用。为此我们引入propTypes。React.PropTypes 提供很多验证器 (validator) 来验证传入数据的有效性。当向 p...
  • qq_30628821
  • qq_30628821
  • 2016年05月15日 21:37
  • 633

IO复用、多进程和多线程三种并发编程模型

I/O复用模型 I/O复用原理:让应用程序可以同时对多个I/O端口进行监控以判断其上的操作是否可以进行,达到时间复用的目的。在书上看到一个例子来解释I/O的原理,我觉得很形象,如果用监控来自10根不同...
  • zaizai09
  • zaizai09
  • 2014年08月08日 17:06
  • 3710

如何设计优秀的APP应用图标

首先 苹果团队Mike Stern 解释了 UI 和应用图标的重要性:用户并不会根据你使用了多少技术,或是整合了多少 API,或是你使用的代码有多牛逼而去对应用做出评价,而是你的应用能让他们做什么,给...
  • iOS_houyimin
  • iOS_houyimin
  • 2015年11月24日 21:05
  • 200

【计算机网络】信道复用技术

复用(multiplexing),合用,共用,是通信技术中的基本概念。频分复用(FDM) 是按频率分割多路信号的方法,即将信道的可用频带分成若干互不交叠的频段,每路信号占据其中的一个频段。 在接收端用...
  • qq_28602957
  • qq_28602957
  • 2016年12月05日 18:06
  • 2885
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:可复用的应用框架(序)
举报原因:
原因补充:

(最多只允许输入30个字)