关于《设计模式》与《设计模式沉思录》中提到的“常露齿嘻笑的猫”(Cheshire Cat)的说明

本文探讨了《设计模式》与《设计模式沉思录》中提及的"常露齿嘻笑的猫"(Cheshire Cat)原则。该原则强调在软件设计中隐藏实现细节,以增强代码的封装性和安全性。通过示例代码解释,说明如何利用Cheshire Cat原则防止类的敏感成员变量被外界访问,特别是在库或DLL文件中的实现,用户只能接触到接口,无法获取具体实现的细节。
摘要由CSDN通过智能技术生成

最近在看GoF的《设计模式》,在此之前看了John Vlissides的《设计模式沉思录》,在“沉思录”P42页脚注中,作者提到

“在C++中这样的定义是难以通过任何强制性的方法实现的[Schmidt96a]。例如,只要用一条简单的#define语句来把private定义为public,我们就可以让所有私有成员变成共有成员。避免这种篡改的一种方法是根本不在头文件中定义成员变量。相反,我们把成员变量和其他机密的实现细节定义在另一个单独的、不公开的头文件中。一个与此紧密相关的模式是BRIDGE……”

,作者可谓点到即止。


而在《设计模式》P102页的下边部分

“Carolan[Car89]用‘常露齿嘻笑的猫’(Cheshire Cat)描述这一分离机制。在C++中,Implementor类的类接口可以在一个私有的头文件中定义,这个文件不提供给客户。这样你就对客户彻底隐藏了一个类的实现部分。”


什么是‘常露齿嘻笑的猫’(Cheshire Cat)?(转自:http://baike.soso.com/h7921075.htm?sp=l7921076

柴郡猫(Cheshire cat)是英国作家刘易斯·卡罗尔(Lewis Carroll,1832-1898)创作的童话《爱丽丝漫游奇境记(Alice's Adventure in Wonderland)》中的虚构角色,形象是一只咧着嘴笑的猫,拥有能凭空出现或消失的能力,甚至在它消失以后,它的笑容还挂在半空中。卡罗尔创作这个角色的灵感可能来源于英国俗语“笑得像一只柴郡猫”(grin like a Ches
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值