设计模式
鱼思故渊
这个作者很懒,什么都没留下…
展开
-
从操作系统内核看设计模式--linux内核中的Observer
Linux虽然是面向过程的c语言写成的,但是却可以表达面向对象的思想,这个问题上,“语言是无关紧要的”,既然是一个语言,那么如果它是成功的,那么它就必须可以表达任何含义,因此软件设计思想和语言是无关的,总听见有人说用c语言无法写面向对象的程序,我无语!用c语言不但可以表达OO,而且可以表达任何的设计模式,这里设计模式和OO还有语言没有必然的关系,设计模式是一种大的框架性的理念,而OO是一种实现方式转载 2013-12-20 22:28:35 · 1546 阅读 · 0 评论 -
linux内核中的设计模式
创建型 Object Pool Object Pool模式可以提升性能,尤其是在对象的分配、初始化成本高,使用频率高但使用时间短的情况下。对象池可以设置对象池的大小和回收时间缓存预分配的对象。NT和Linux都有简单的预分配缓存对象的机制,也就是Lookaside Cache机制。NT的对象管理器使用延迟删除和垃圾回收机制实现真正意义上的对象池。在调用NtClos转载 2013-12-20 22:30:26 · 3681 阅读 · 1 评论 -
设计模式--singleton模式
使用单件模式的意图是保证一个类只有一个实例,并提供一个访问它的全局访问点。将单件定义为全局或静态对象,然后依赖于自动的初始化,并不能完全实现上述意图。虽然可以提供全局访问点,但这是不够的。原因如下:1)我们不能保证静态对象只有一个实例会被声明。2)我们可能没有足够信息在静态初始化时实例化每个单件,单件可能需要在程序运行中稍后被计算出来的值。3)c++没有定义转换单元上全局对象的构造原创 2014-09-16 22:26:09 · 1050 阅读 · 0 评论 -
Zookeeper监控的作用
当服务越来越多,规模越来越大时,对应的机器数量也越来越大,单靠人工来管理和维护服务及地址的配置地址信息,已经很困难了,并且,依赖单一的硬件负载均衡设备或者使用LVS.nginx等软件方案进行路由和负载均衡调度,单点故障的问题也开始凸显,一旦服务路由或者负载均衡服务器宕机,依赖他的所有服务均将失效、 此时,需要一个能够动态注册和获取服务信息的地方。来统一管理服务名称和其对应的服务原创 2015-08-15 15:50:55 · 2121 阅读 · 1 评论 -
大型分布式网站的技术需求
HBase是Apache Hadoop项目下的一个子项目,它以GoogleBigTabale为原型,设计实现了高可靠性、高可扩展性、实现读写的列存储数据库,他的本质实际上是一张稀疏的大表,用来存储粗粒度的结构化数据,并且能够通过简单地增加节点来实现系统的线性扩展。 HBase运行在分布式文件系统HDFS之上,利用它可以在廉价PC Server上搭建。HBase集群中通常包含两种原创 2015-08-15 16:26:17 · 1353 阅读 · 0 评论