理解“从规则上实现”和“从技术上实现”的不同

原创 2012年03月21日 14:16:55

如前面一篇文章中提到的,为了实现模块的私有,私有的东西应当放在源文件中声明定义,这样就不会直接暴露公开给外部,这里有两个说法:

1、如果这些定义没有加static限制,则这样的设计只是从规则上实现了变量的私有,因为在源文件中的声明只是表明它的语义,并且设定规则:这些变量是私有的,“不应该在外部模块引用”。但是,实际上并没有阻止别人的访问,因为别的文件内是可以引用得到的,如果某些新来的不熟悉团队规则的人,擅自引用了这些私有变量,但是,这样并没有报错,没有被编译器惩罚,因此他就认为他可以访问的。就好比是,法律规则一样,法律规定不能杀人,但是只是规定,并没有从技术上实现别人不能杀人,只是说杀人要偿命,如果别人杀了人,逃跑了,那也是可以的,所以,要做到真正的私有,仅仅从规则上实现是不行的,一定要从技术上实现并确保,下面讨论

2、如果这些定义加了static限制,则才是真正的从技术上实现并保证了这些变量的私有话,因为static修饰为文件内私有,从而如果别人破坏规则,企图从别的文件内访问这些私有变量,则马上收到编译器的惩罚,报几个error就足以

15 内部类和ArrayList的实现

关于内部类: 写在内部就是私有的,内部类还是public纯属设计有问题,既然public了为嘛还要塞入内部,内部类一定要是public的话,初始化要依赖外部类的引用,不然类定义里面隐含的Outer....
  • mingzidaodiduochang
  • mingzidaodiduochang
  • 2012年10月26日 17:33
  • 867

利用三层交换机实现不同VLAN间通信

【实验名称】利用三层交换机实现不同VLAN间通信 【实验目的与要求】 目的: 通过三层交换机实现VLAN间通信 要求: 1、在二层交换机S2126上建立虚拟局域网vlan30;在三层交换机S...
  • fshxmb1991
  • fshxmb1991
  • 2014年09月25日 21:33
  • 788

请谈谈你对CRM的理解

CRM是英文Customer Relationship Management的缩写,中文叫“客户关系管理”。CRM的目的和价值就是获取客户、留住客户和将客户盈利最大化。 1.CRM...
  • yiran635904
  • yiran635904
  • 2016年04月25日 19:13
  • 472

POJ 3009 Curling 2.0【带回溯DFS】

On Planet MM-21, after their Olympic games this year, curling is getting popular. But the rules are ...
  • The_star_is_at
  • The_star_is_at
  • 2017年08月06日 22:40
  • 143

漫谈程序控制流

JS的generator可以玩魔法!! 不过,程序的世界,并没有无根之木、无源之水。让我们回溯本源,探一探各种高阶流程控制结构(比如continuation, coroutine)的来龙去脉...
  • ebay
  • ebay
  • 2015年08月11日 14:51
  • 1125

不同文本间取不同的地方并标注颜色

以前在做这块时,找了些代码,都没有这方面的功能,最后逼得自己写,参考了一些网上的wgq...
  • jimil
  • jimil
  • 2014年04月25日 15:34
  • 954

实现多态条件和规则

 三个条件: 继承的存在(继承是多态的基础,没有继承就没有多态)。子类重写父类的方法(多态下调用子类重写后的方法)。父类引用变量指向子类对象(子类到父类的类型转换)。 子类转换成父类时的...
  • qq1623267754
  • qq1623267754
  • 2014年05月06日 10:32
  • 1026

工厂模式(自己的理解和实现)

最近学习了工厂模式,看了网上的教程,也学习了别人的代码,最后自己按照自己的想法实现了一下。 有想看原文的去这个网址 http://blog.csdn.net/mmquit/article/detai...
  • carterjin
  • carterjin
  • 2012年10月10日 11:13
  • 5331

数据库_MySQL_由浅入深理解索引的实现

这篇文章是介绍MySQL数据库中的索引是如何根据需求一步步演变最终成为B+树结构的以及针对B+树索引的查询,插入,删除,更新等操作的处理方法。Oracle和DB2数据库索引的实现基本上也是大同小异的。...
  • u010003835
  • u010003835
  • 2016年06月02日 07:59
  • 2669

对几种常见设计模式的理解

对几种常见设计模式的理解  设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。   最早提出“设计模...
  • dengpeng0419
  • dengpeng0419
  • 2015年08月31日 10:58
  • 3281
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:理解“从规则上实现”和“从技术上实现”的不同
举报原因:
原因补充:

(最多只允许输入30个字)