- 博客(7)
- 资源 (2)
- 收藏
- 关注
原创 chain of responbility 职责链模式
个人理解这个模型必须同composit模型结合起来使用,否则从上到下都要继承一个服务接口类,修改起来非常麻烦。这个模型的现实意义是,当系统是整体与部分的时候,对部分请求一个整体才有的职责时,部分发现自己没有这个职责,则向上传递这个职责。比如 部门里面,向一个普通员工对象要求获取部门平均工资的请求,这个责任明显不是普通员工拥有的,模式的实现是直接丢给科长, 科长发现也不是自己
2013-12-30 21:17:07 635
原创 设计模式- 对象结构型模式小结
粗粗看文GOF的设计模式第二部分:感觉着这部分类图实现上看差异很小,但是从动机和范围却差异很大:1 ADAPTER 适配两个不兼容的类,采用多重继承或者的类适配器或者委托对象的对象适配器。 典型例子是 TextShape2 Bridge 把抽象和实现隔离,使用场景是当某个抽象的实现不止一个,的时候,使用该模式的IMPL,把两者隔离开来,从而他们
2013-12-29 17:45:57 535
原创 PF_NETLINK 协议 获取IPV6路由信息的一些陷阱
关于使用NETLINK获取系统路由信息,GOOGLE上可以搜索到相关的使用方法,不过IPV6的倒是确实没有涉及。涉及IP6的路由操作,整个internet都没人涉及;本人经过多个坑,终于搞定,有些陷阱分享一下: 1 创建SOCKET方式: sock = socket(PF_NETLINK, SOCK_RAW, NETLINK_ROUTE)) 必须为NETLINK_R
2013-12-23 20:03:16 1543 1
原创 Bridge 模式学习:
基本模式是复杂类的抽象和实现分开,这样抽象和实现可以相互独立,各自演进发展: 类似于: sruct Impl;struct ComplexClass{ virtual void interface1(); virtual void interface2(); virtual void interface3(); Impl * ge
2013-12-21 15:36:15 449
原创 设计模式factory method; abstract fatory; builder ; prototype
GOF 经典设计模型的几种对象创建模式:两种方法:1 创建对象类的子类,这个对应于Factory Method 缺点就是子类可能很多。2 依赖对象复合,定义一个对象负责明确产品对象的类,这些模型有个共同的特点都涉及创建一个新的负责创建产品对象的工厂对象。包括如下:Abstract Factory : 优势在于创建一系列相同属性的对象。Builder:优势在于创建复杂的对象,
2013-12-15 21:06:22 495
原创 如何获取当前配置的IPV6地址的前缀长度(掩码)
首先问个问题:IPV6是否有掩码?答: 有 GOOGLE上查了一圈没有找到好的方法,字节摸索了一套可行的方法,同分享:下述程序打印处掩码长度,由此判断前缀长度,good! #include #include #include #include #include #incl
2013-12-02 20:48:05 27716 1
转载 ZZ: linux IPV4 IPV6 sockaddr 几个结构体及其关系: sockaddr sockaddr_in sockaddr_in6
1struct sockaddr {sa_family_t sa_family; /* address family, AF_xxx*/char sa_data[14];/* 14 bytes of protocol address*/};这个结构体是IP4 IP6通用的,但是但看结构体长度好像只适合IPV42struct sockaddr_in { __ke
2013-12-02 20:41:53 1746
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人