自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

足迹

关注ACE,SSCLI,ORM和设计模式 这是个技术先行的年代 学习会变的,关注不变的

  • 博客(24)
  • 收藏
  • 关注

原创 发现volatile的使用方法

  一直都没有使用过volatile这个修饰符,也经常听说使用和不使用是一样的,也许大多数情况下是一样的,但是我今天读到了一个必须使用volatile的例子.       [POSA2]P220 讲述 双检查加锁优化 的时候,最终的范例代码是这个样子的:       class Singeton{         public:                static Sing

2006-10-27 11:39:00 882

原创 7.5 有效使用反应堆的设计准则

7.5 有效使用反应堆的设计准则  ACE_Reactor是事件多路分离和事件处理器分派的强大构架。但是,像其他构架一样,学习使用ACE_Reactor需要时间和努力。缩短学习曲线的的一种途径是去理解有效使用反应堆所必须遵从的设计准则。下面描述的设计准则基于帮助ACE用户正确进行反应堆构架编程所获得的大量经验。设计准则0:不要手工删除事件处理器对象或显式调用handle_close

2006-05-29 20:47:00 1136

原创 使用Message_Queue的经典的“有界缓冲区”的ACE实现

#include "ace/Message_Queue.h"#include "ace/Thread_Manager.h"#include "ace/Synch_Traits.h" typedef ACE_Message_Queue MT_Message_Queue;// Global thread manager.static ACE_Thread_Manager thr_mgr;

2006-05-26 13:42:00 1349

原创 ACE中文文档中关于互斥锁的非常精妙的一段 与大家共享

4.4 通过OO和C++简化并发编程 这一部分检查一个使用实例,以演示在C++包装中封装Solaris并发机制的优点。该使用实例描述了一个基于生产系统的有代表性的情景[25]。紧跟4.5对库接口的介绍,在4.6中还有ACE OO线程封装类库的其他例子。通过归纳系统开发中发生的实际问题的解决方案,许多有用的C++类已逐渐发展起来。但是在类的接口和实现稳定后,随着时间的过去,这样的反复对类

2006-05-26 00:57:00 2418

原创 日志服务器的main函数

线程的执行体为了便于观察我修改了一下#include #include #include #include #include #include #include using namespace std;#define LOG_RECORD_MAX 100// At file scope.// Keep track of number of logging requests.sta

2006-05-25 01:00:00 1043

原创 3.7 SOCK SAP C++包装类编程

SOCK SAP实现的客户端#include #include #include static const int PORT_NUM = 10000;static const int TIMEOUT = 5;// SOCK_SAP Client.template void send_data(typename CONNECTOR::PEER_ADDR peer_addr){ /

2006-05-24 22:43:00 1780

原创 3.8.1 在编译时强制实现类型安全性

图3-14 Echo服务器的SOCK SAP修订版#include #include #include #include int sserver(ACE_INET_Addr addr){ // Initialize the passive mode server. ACE_SOCK_Acceptor acceptor(addr); // Data transfer object. AC

2006-05-24 22:23:00 805

原创 1.3.1.5 其他通信机制 的例子

这个程序始终出现莫名其妙的错误请哪位大虾修改一下谢谢咯#include "ace/Mem_Map.h"void putline (const char *s){ while (putchar (*s++) != /n)  continue;}int main (int argc, char *argv[]){ char *filename = argv[1]; char *fi

2006-05-24 22:13:00 842

原创 1.3.1.1 SOCK SAP中组播的例子

ACE自适配通信环境中文技术文档因为是书籍而且使用的ACE版本比较旧所以有的类接口不一样,修改以后才可以使用,我慢慢看慢慢学,把修改过的可以运行的代码贴上来希望对大家有帮助环境:ACE5.5+VS.NET2003使用前请确保你的ACE编译正确以及包含文件以及库文件设置正确 #include "ace/SOCK_Dgram_Bcast.h"#include "ace/Addr

2006-05-24 22:08:00 1186

原创 《重构—改善既有代码的设计》 书籍小贴士

        如果你发现自己需要为程序添加一个特性,而代码结构使你无法很方便的那么做,那就先重构那个程序,使特性的添加比较容易进行,然后再添加特性.(P35)        重构之前,首先检查自己是否有一套可靠的测试机制.这些测试必须有自我测试(self-checking)的能力.(P36)        重构技术是以微小的步伐修改程序.如果你犯下错误,很容易便可发现它.(P41) 

2006-05-07 22:56:00 1010

原创 C#面向对象设计模式纵横谈(6):Prototype 原型(创建型模式)

讲师: 李建忠依赖关系的倒置抽象不应该依赖于实现细节,实现细节应该依赖于抽象。-抽象A直接依赖于实现细节b–抽象A依赖于抽象B,实现细节b依赖于抽象B动机(Motivation)在软件系统中,经常面临着“某些结构复杂的对象”的创建工作;由于需求的变化,这些对象经常面临着剧烈的变化,但是它们却拥有比较稳定一致的接口。如何应对这种变化?如何向“客户程序(使用这些对象的程序)”隔

2006-04-28 12:27:00 1018

原创 C#面向对象设计模式纵横谈(5): Factory Method 工厂方法(创建型)

讲师:李建忠从耦合关系谈起– 模块与模块之间的紧耦合使得软件面对变化时,相关的模块都要随之更改– 模块与模块之间的松耦合使得软件面对变化时,一些模块更容易被替换或者更改,但其他模块保持不变耦合关系直接决定着软件面对变化时的行为 动机(Motivation)在软件系统中,经常面临着“某个对象”的创建工作;由于需求的变化,这个对象经常面临着剧烈的变化,但是它却拥有比较稳定的接口。如何应对这

2006-04-27 12:48:00 986

原创 C#面向对象设计模式纵横谈(4):Builder 生成器(创建型模式)

讲师:李建忠Builder模式的缘起• 假设创建游戏中的一个房屋House设施,该房屋的构建由几个部分组成,且各个部分要富于变化。• 如果使用最直观的设计方法,每一个房屋部分的变化,都将导致房屋构建的重新修正……动机(Motivation)在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的

2006-04-26 11:21:00 1042

原创 C#面向对象设计模式纵横谈(3):Abstract Factory 抽象工厂(创建型模式)

讲师:李建忠new的问题常规的对象创建方法:// 创建一个Road 对象Road road=new Road();new的问题:– 实现依赖,不能应对“具体实例化类型”的变化。解决思路:– 封装变化点—— 哪里变化,封装哪里– 潜台词:如果没有变化,当然不需要额外的封装!工厂模式的缘起• 变化点在“对象创建”,因此就封装“对象创建”• 面向接口编程——依赖接口,而非依赖实现• 最简单的解决

2006-04-25 23:09:00 1117 1

转载 C++中extern “C”含义深层探索

作者:宋宝华1.引言               C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载

2006-04-25 15:34:00 955

原创 使用Remoting开发分布式应用(四) ——采用回调实现一个聊天程序

讲师:任旻本次课程内容包括l事件(Event)与回调(Callback)l点对点(P2P)的实现l开发聊天软件 l事件(Event)与回调(Callback)Ø事件与委派(Delegate)ØRemoting中事件的实现方式Ø配置文件的设置事件(Event)委派(Delegate)l事件的原理就是发起者调用订阅者的方法l发起者保存订阅者方法的DelegateRemoting

2006-04-25 13:37:00 1457

原创 C#面向对象设计模式纵横谈(2): Singleton单件(创建型模式)

讲师:李建忠模式分类从目的来看:– 创建型(Creational)模式:负责对象创建。– 结构型(Structural)模式:处理类与对象间的组合。– 行为型(Behavioral)模式:类与对象交互中的职责分配。从范围来看:– 类模式处理类与子类的静态关系。– 对象模式处理对象间的动态关系。动机(Motivation)在软件系统中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实

2006-04-25 12:59:00 1153

原创 C#面向对象设计模式纵横谈(1):面向对象设计模式与原则

讲师:李建忠每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。                                                                                                                                                       ——

2006-04-24 23:01:00 1332

原创 今日学习 (使用.NET Remoting 建立分布式应用程序(三))(4月8日) ——Remoting服务发布方式

讲师:任旻使用应用程序发布通过Windows服务发布通过IIS发布元数据的相关性通过Windows服务发布Ø创建Windows服务工程Ø安装Windows服务开发Windows服务服务就是Windows一启动就执行的程序,不需要用户进行登陆Ø例如SQL ServerWindows服务是Exe程序,但不能直接运行,需要在注册表中注册l在VS.Net的各种版本中都可以选择创建Windo

2006-04-07 23:33:00 1037

原创 今日学习 (使用.NET Remoting 建立分布式应用程序(二))(4月7日) ——对象生存周期管理

讲师:任旻本次课程内容包括lSAOs的配置文件Ø配置文件ØMachine.config中的通道l租约lCAOsSAOs的配置文件Ø配置文件ØMachine.config中的通道配置文件l使用配置文件的好处Ø简化代码Ø随时更改,通道,端口,URL的设置而不用重新编译l.Net提供了Remoting配置文件的标准lXML格式的配置文件l推荐在实际项目中使用配置文件配置文件举例typ

2006-04-07 23:19:00 1112

原创 今日学习 (使用.NET Remoting 建立分布式应用程序(一))(4月6日)

讲师:任旻远程对象的两个含义操作远程对象Ø对象运行在远程,客户端向他发送消息。ØMarshalByRefObject传递远程对象Ø将远程的对象拿到本地,或者将本地对象发送过去。Ø对副本进行操作Ø[Serializable] 或ISerializable谁来激活对象?服务器激活(WellKnown)ØSingletonØSingleCall客户端激活通道(Channels)一个远程对

2006-04-07 07:39:00 1379

原创 今日学习 (基于Dot Net平台的企业级应用程序的架构设计)(4 月5日)

一直对构架部分没什么研究,所以特地看了一节关于构架的课,觉得讲的非常好能力有限,完全没有什么感想,就觉得非常不错~~~~~

2006-04-07 07:18:00 1058

原创 为ASP.NET2.0配置SQL2000数据源

    因为准备写个小网站,但是现在大多数ASP.NET2.0的服务器提供商不支持SQL2005,所以只好早上起来做传说中的数据库配置工作(之所以说是传说是因为以前在Webcast里听老师说过,但是没有实际动手配置过).    在C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727目录下面直接找到aspnet_regsql.exe并双击,会弹出这个界面.

2006-04-04 09:01:00 1510

原创 足迹, 决定把我学习过程中的知识和困惑记录下来

    呵呵,好不容易才下决心正式弄一个bolg,感觉真不错.   决定把学习过程中的一些感悟和困惑书写出来与大家共勉    第一贴里面描述一下我自己的个人资料吧    姓名:徐扬    年龄:20     目前就读:武汉理工大学计算机科学与技术大二     学习方向:.NET下的企业应用架构  我不相信.NET这么优秀的东西产生不出优秀的架构             

2006-04-02 15:28:00 659

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除