设计模式C++学习笔记之四(Multition多例模式)
2014-11-21 16:22
169 查看
设计模式C++学习笔记之四(Multition多例模式)
多例模式,这个在GOF的模式设计里没有提到,但在实际工作中确实会用到。更详细的内容及说明可以参考原作者博客:cbf4life.cnblogs.com。
4.1.解释
main(),客户
略
说明:和单例基本一样,是有个数限制的单例。如果对于产生的实例个数没有限制,那就不是多例了,和普通的类没有区别。
举例:曾经开发过一个从服务端以UDP协议,发送文件到客户端的程序。客户端连接服务端时采用TCP协议,服务端接受连接,产生一个向客户端传输文件的实例FileService。每个客户端的连接都会产生一个实例,但同一客户端的多个连接请求会共享一个FileService实例。理论上讲FileService实例的个数,取决于连接到服务的客户端个数。由于是企业内部系统,所以这里的个数是有限的,并不在广域网上无限用户的连接。我想这就是多例模式了,特殊的单例。可以将实例保存在std::map里面,用客户端IP和Port组织起来的字符串做为键值。
类图略过。
多例模式,这个在GOF的模式设计里没有提到,但在实际工作中确实会用到。更详细的内容及说明可以参考原作者博客:cbf4life.cnblogs.com。
4.1.解释
main(),客户
略
说明:和单例基本一样,是有个数限制的单例。如果对于产生的实例个数没有限制,那就不是多例了,和普通的类没有区别。
举例:曾经开发过一个从服务端以UDP协议,发送文件到客户端的程序。客户端连接服务端时采用TCP协议,服务端接受连接,产生一个向客户端传输文件的实例FileService。每个客户端的连接都会产生一个实例,但同一客户端的多个连接请求会共享一个FileService实例。理论上讲FileService实例的个数,取决于连接到服务的客户端个数。由于是企业内部系统,所以这里的个数是有限的,并不在广域网上无限用户的连接。我想这就是多例模式了,特殊的单例。可以将实例保存在std::map里面,用客户端IP和Port组织起来的字符串做为键值。
类图略过。
相关文章推荐
- 设计模式C++学习笔记之四(Multition多例模式)
- 设计模式C++学习笔记之四(Multition多例模式)
- 设计模式C++学习笔记之四(Multition多例模式)
- 设计模式C++学习笔记之四(Multition多例模式)
- 设计模式C++学习笔记之四(Multition多例模式)
- 设计模式C++学习笔记之四(Multition多例模式)
- 设计模式C++学习笔记之十四(Iterator迭代器模式)
- 设计模式C++学习笔记之三(Singleton单例模式)
- 学习笔记:关注C++设计模式之Singleton模式
- 设计模式C++学习笔记之一(Strategy策略模式)
- 设计模式C++学习笔记之十五(Composite组合模式)
- c++ 设计模式学习 [笔记]
- 设计模式C++学习笔记之十一(Bridge桥梁模式)
- 设计模式C++学习笔记之十二(Command命令模式)
- 设计模式C++学习笔记之十七(Chain of Responsibility责任链模式)
- 设计模式C++学习笔记之一(Strategy策略模式)
- 设计模式C++学习笔记之十一(Bridge桥梁模式)
- 设计模式C++学习笔记之十七(Chain of Responsibility责任链模式)
- 设计模式C++学习笔记之七(AbstractFactory抽象工厂模式)
- 设计模式C++学习笔记之十九(State状态模式)