C语言设计模式:装饰模式

装饰模式的本质在运行期扩展一个类的功能:通过包裹类继承原有方法并扩展新的方法。

装饰模式可看成继承功能的一种,C中很少使用继承,勉强使用,可以看成结构体的包含。


如下:

1)例1,ipv4扩展后支持ipv6:

[cpp]  view plain copy
  1. typedef struct _ipaddr 
  2. {  
  3.    char ip_addr[4];  
  4. }ipaddr;  
  5.  
  6. typedef union _ip_addr_u
  7. {
  8.    ipaddr ipv4;
  9.    ipadd6 ipv6;
  10. }IP_ADDR_U;

2)例2,消息封装
L2协议栈消息处理,直接封装L3数据,而无需重复定义。




你可能感兴趣的:(架构设计)