ACE网络框架学习体会
ACE网络框架比较有名,30万行左右代码,开发了10几年,数十人的核心开发团队加之数千人的测试队伍,可以说想不开发出好东西也难。
所以要说这个框架好,那好的原因实在太多,最主要的好在于两条:“跨平台(支持几十种平台),可复用”,所以今日说说我认为他不足的地方,以作为这段时间学习它的一个总结:
国内有三本和ACE框架有关的书,我都读了,整个加起来读了能有10几不到20天,读完后我分别写了一个比较简单的Reactor-Connector框架的客户端程序和一个Proactor框架的服务器程序,以作为对所学知识的运用。发觉用ACE写服务器端程序比写客户端程序顺手。顺便把服务器程序测试了一下,在本机上用client连接,服务器支持的最大连接数为16160,程序逻辑问题,没出现异常情况,基本满意。
整个觉得这个框架想流行起来有一定难度:
(1)复用类和框架是它所提倡的,表面看,这些框架简化了程序开发,让开发人员能够专注于解决问题,但真正用这些框架开发程序的时候,要想开发出稳定的程序,就不可避免的要对框架深入理解,结果就深入的学进去了,这一学,哎呀发现它还的源代码还挺复杂,结果,违背了研究它的初衷(简化开发)。
(2)封装和复用是这几年流行的开发术语,封装和复用也许是不错,是好用,但对于学习的人来讲,真的很难学,这么多个类结合到一起来,让人一时半刻不好掌握。
(3)要想学好ACE的开发需要很好的网络开发基础,如果你没有网络开发基础,想通过学习这个框架来使自己能够省更多力气就可以开发网络程序,我想恐怕您会失望。
(4)ACE框架不够灵活,有时候想改一些东西,但涉及到改动ACE源代码不免挠头,我觉得他的代码还是挺难看的,我们每个人的生命有限,时间有限,有多少时间坐那里读几十万行代码。
(5)ACE框架把各平台的应用又统一封装了一下,和专有平台代码比,我认为效率还是要低一些,尽管目前计算机运算速度飞快。
原来我是计划用 ACE框架作为以后开发网络应用的框架,后来想了想,还不如用传统的开发直观,可控性强,因为我的开发基本不跨平台,好了,就总结这些先。