平民程序 - linghuye's blog

天下风云出我辈,一入江湖岁月催。皇图霸业谈笑中,不胜人生一场醉。提剑跨骑挥鬼雨,白骨如山鸟惊飞。尘事如潮人如水,只笑江湖几人回。

随笔 - 221, 文章 - 0, 评论 - 680, 引用 - 0
数据加载中……

ACE 概念

1.ACE主分2个概念群,基础模块和应用框架.卷1论述基础模块,卷2论述应用框架.采用模板的理念,使用基础模块类对应用框架类进行配置.

2.连接和通信的解藕.Acceptor/Connector -> SvcHandle 

3.用7zip压缩源ace源代码形成2.86M的包,比rar的5.86M小了一倍,cool.

4.a.同步的多线程,多线程编程给软件带来的复杂度是量级上的,能避免就避免.
  2.单线程反应式编程,同步反应,逻辑简单明确.
  3.前摄器IO同步,由操作系统完成异步,优雅的逻辑,但仍显复杂,带来的好处也是很大

5.ACE的构架仍显过于地臃肿复杂,模式痕迹过重,不够小巧,以手工编码的TCP客户端编译28K,使用ACE框架的186K,差不多为6.5倍,为跨平台和灵活性付出了相当的代价.
6.前摄式和反应式天生本质逻辑的不兼容,使得Reactor和Proactor不能通过简单的代码配置进行变换,由于Proactor在逻辑上要求的更加灵活,使得Reactor这种强框架概念不再适应,Proactor在框架概念上变弱,但使得类交互更加复杂.
7.在框架方面对无连接协议UDP不兼容,使得框架的威力大减.
8.ACE中轻量级类很好用,简单且跨平台.
9.ACE_Message_Block很显然不能声明为堆栈或静态对象,只能在堆上创建,且没有编译时强制,这不好,程序员会写出完全错误的代码.

posted on 2006-01-28 12:15 linghuye 阅读(1097) 评论(2)  编辑 收藏 引用 所属分类: 编程札记

评论

# 评价一下  回复  更多评论   

baixitou28@gmail.com来评价一下:有异义发邮件。

5.ACE的构架仍显过于地臃肿复杂,模式痕迹过重,不够小巧,以手工编码的TCP客户端编译28K,使用ACE框架的186K,差不多为6.5倍,为跨平台和灵活性付出了相当的代价.

反驳理由:
->这28k,186k来评价软件,好像不太恰当,就好像评价两个编译,谁的编译的hello world 大或小,来说编译器好坏
->软件的维护性,扩展性在大的项目上更重要,“手工编码的TCP”千差万别,谁来看这样的手工作坊软件?

6.前摄式和反应式天生本质逻辑的不兼容,使得Reactor和Proactor不能通过简单的代码配置进行变换,由于Proactor在逻辑上要求的更加灵活,使得Reactor这种强框架概念不再适应,Proactor在框架概念上变弱,但使得类交互更加复杂.

反驳理由:
->Reactor和Proactor,要看你的实现需求的啊。

7.在框架方面对无连接协议UDP不兼容,使得框架的威力大减.
反驳理由:
->你实现过吗?好像不是这样的

9.ACE_Message_Block很显然不能声明为堆栈或静态对象,只能在堆上创建,且没有编译时强制,这不好,程序员会写出完全错误的代码.
反驳理由:
->STL实现也是如此啊,动态分配的;(, 但是不是“程序员会写出完全错误的代码”
2006-10-25 18:18 | tiger

# re: ACE 概念  回复  更多评论   

ACE_Message_Block
内的分配器可以自己指定,错误代码是你不做内存池导致的。这个不是 ACE的错误。

难道new 和 delete 出生是错误的?
2007-11-17 09:43 | QQ44072429
只有注册用户登录后才能发表评论。