封装to封装库_关于封装的三个最伟大的段落

封装to封装库

定义。

封装不是性感的。 这是软件设计的特许会计。 功能性Java编程? 配方freakin'之一。 混合云计算? 固体助推火箭在午夜的发射台上爆炸。 但是封装? 但是,不要将这种缺乏活力与重要性相混淆。 宝贵的无形支持系统围绕着我们。 尝试一周不抽水。 还是电。 再加上第二种负担(含糊不清),它的PR封装令人遗憾。 每个程序员对封装是什么都有自己的定义。 大多数彼此相似,许多重叠,但有些只不过反映了随机获得的习惯。

但是,如果我们要讨论三个最重要的封装段落,那么我们当然需要一个定义。 您可能不同意它,但是您至少应该能够判断这些段落与该定义的符合程度。 那么,我们如何解决这种歧义呢? 最好有一个国际标准的封装定义来构建我们的调查,但要做到这一点,就需要一个国际标准化组织,而这个国际标准化组织则必须定义“封装, ”以某种有意义的方式。

好吧–您相信吗? –实际上有这样一个国际标准化组织。 它被称为“国际标准化组织”。 这些好人正式将封装(在ISO / IEC 10746-3中 )定义为:

封装 :(转鼓)一种属性,该属性包含对象中包含的信息只能通过该对象支持的接口上的交互来访问(cy崩溃!)。

(作者添加的声音效果。)

是的,是的,这不是您的定义。 它提出了各种各样的问题。 它用其他同样模糊的概念来定义概念。 但是,要求您不要用上面的内容盲目替换您自己的定义,而只是认为在本文持续时间内是合理的。 可以使用它作为工具来破解段落的外壳,然后根据需要将其扔到一边。 毕竟,这是由食品安全法规确保您今天早上吃的早餐相对安全的人们所决定的。 让我们把它们的耳朵借给我们听,即使我们在完成它们后把它们取回。

关注点分离。

您仍然可以在电影院中看到“教父:第二部分”,保罗·安卡(Paul Anka)屈居美国音乐排行榜的首位,而内华达州沙漠则尖叫着,两百公斤爆炸会将其放射性碎片撒在其玻璃化的沙子上。

同时,在荷兰,埃德斯·迪克斯特拉(Essger Dijkstra)教授通过撰写另一篇论文来完成本周的学习。 Dijkstra在计算机界享有盛誉,并在几年前获得了著名的AM Turing奖。十年来,Dijkstra撰写了有关计算的有见地的文章,其中一些(例如臭名昭​​著的Go to声明被认为有害 )在发烧友中引起了极大的反感。尊重。

今天的论文叫做《科学思想的作用》 。 它也许有点罗word,有些曲折,却蕴藏着深刻的天才。 在关于封装的三个最伟大的段落的第一段中,该文本不需要其周围论文的上下文就可以使自己理解:

“让我尝试向您解释,我的品味是所有明智思维的特征。 就是说,一个人愿意出于自身的一致性而独立地深入研究其主题的一个方面,一直都知道一个人只在其中一个方面中占据一席之地。 我们知道一个程序必须是正确的,我们只能从那个角度研究它; 我们也知道它应该是有效的,可以这么说,我们可以在另一天研究它的效率。 在另一种情况下,我们可能会问自己是否,如果这样:为什么,该程序是理想的。 但是什么也没有得到-相反! 同时解决这些各个方面。 这就是我有时所说的“关注点分离”,即使不是完全可能,这也是我所知道的唯一有效地整理自己的思想的方法。

在这里,Dijkstra第一次低语了“关注分离”一词,却几乎不知道他的声音仍会在将近40年后在我们的数字回廊中回荡。

对于谁还没有听说过分离关注点? 谁会梦想通过将其消耗在一个强大的大脑中而不是将其切成薄片来剖析其个别需求,其功能,其软件包或子结构来理解任何不平凡的源代码?

但是,Dijkstra没有专门讨论封装,因此这怎么可能是封装方面最伟大的段落之一? 这是封装的一部分,因为它可以承接封装的声明,即对象的信息与其接口是分开的。 的确,封装仅仅是庆祝和利用了这种可分离性,没有这种封装,它将失去放荡,失去了好奇心。

今天,我们认为这一切显而易见。 有什么大不了的? 这就是一个好主意的印记:很难想象这个主意不起作用的世界。 我们将再次遇到这种困境。

信息隐藏。

迪克斯特拉(Dijkstra)的可笑之处使他的杰作失传了两年,加拿大的戴维·帕纳斯(David Parnas)已经点燃了自己的宝石。 (我们的旅程沿着概念抽象的轴而不是按时间顺序下降。)

与大学讲师Dijkstra一样,Parnas在1972年12月发表了他的《 关于将系统分解为模块的标准》

帕纳斯(Parnas)在他的论文中描述了如何构建软件系统,并以我们三个最伟大的段落中的第二段作为结尾:

“我们试图通过这些示例来证明,根据流程图开始将系统分解为模块几乎总是不正确的。 相反,我们建议从一系列困难的设计决策或可能会改变的设计决策开始。 然后,每个模块的设计都将其他决策隐藏起来。”

见证信息隐藏的诞生,再也不奇怪Java的private修饰符从何而来。 如果有人怀疑Dijkstra的贡献是否恰当,这就是封装的本质。 是什么原因限制了对接口的访问,但是从某种意义上说,对象的信息是隐藏的,而接口却不是?

就像关注点分离一样,对于我们来说,信息隐藏对我们来说似乎是平凡的,就像摩天大楼建造者们的钢铁一样。 很少有铆钉钉牢铁器时代的思想。 当然,编程没有这么长的寿命,但是四十年的搜索未能产生信息隐藏的后继者。

涟漪效应。

我们的第三个也是最后一个最伟大的段落不是来自一个灵魂而是来自三个灵魂。 W. Stevens,G。Myers和L. Constantine在为IBM Systems Journal撰写的题为《 结构化设计 》的论文中,向1974年的计算机世界介绍了许多非凡的想法。(孕育了这种创新的70年代是什么?耀斑?车把胡须?褐色?)

尽管关注点和信息隐藏的分离提供了实现封装的基本机制,但《 结构化设计》论文却明确了可以判断这些机制是否部署的标准。 再次,由于反复使用而使他们惊讶不已,这些单词的过度熟悉掩盖了它们的意义:

“模块之间的连接越少越简单,就越容易理解每​​个模块而无需参考其他模块。 最小化模块之间的连接也最大程度地减少了更改和错误传播到系统其他部分的路径,从而消除了灾难性的“涟漪效应”,其中一部分的更改会导致另一部分的错误,从而需要在其他地方进行其他更改,从而导致新的错误等。”

本文通过介绍耦合和内聚的概念进行了详尽的阐述,从而为第四和第五个最大的封装段落提供了强有力的竞争者,但是上述例子很好地证明了封装的表现,更有趣的是,它表现得很差。 当面对结构不良的源代码时,我们倾向于从无数依赖在整个系统中无方向地辐射的角度来内向地退缩。 直到今天,史蒂文斯(Stevens)等人确定的连锁效应。 每年我们的行业花费数亿美元,考虑到这里三篇论文所提供的工具,这是很奇怪的。

摘要。

即使在首次发表时,这里介绍的论文都没有享有完全的原创性。 文学碎片预示了一切。 但是,这些段落巩固了并在很大程度上进行了创新,这些关键原则是当今继续构建所有优秀软件的关键原则。 他们的作者应被视为计算机领域的佼佼者。 概念不断发展。 七十年代编写软件的世界现在已经不在我们视窗之外。 也许将来某天的软件将不会由各个相互影响的部分组成,因此关注点,信息隐藏和涟漪效应的分离将从程序员的词汇中消失。 但是,这一天尚未到来。


翻译自: https://www.javacodegeeks.com/2013/04/the-three-greatest-paragraphs-ever-written-on-encapsulation.html

封装to封装库

SOT SOD TO DAP封装库Protel99se库PCB库共155个(Protel库),),封装列表如下: Component Count : 155 Component Name ----------------------------------------------- DPAK DPAK(to-252) DPAK2 /to263 DPAK2 78M05 PCBComponent_1 SOD-128 SOD-882 SOT-23 SOT-23 - 2 SOT-23-1 SOT-23-3-431 SOT-23-431 SOT-23A SOT-23M SOT-23N SOT-23P SOT-25 SOT-89 SOT-89-2 SOT-89-3 SOT-89-5 SOT-89-431 SOT-89-NPN SOT-223 SOT-223 - 3 SOT23 SOT23-5 SOT23-6 SOT323 SOT523 SOT669 TO-3 TO-5 TO-18 TO-39 TO-46 TO-52 TO-66 TO-72 TO-92 TO-92-431 TO-92-431-2 TO-92-667 TO-92-3904 TO-92-MCR100 TO-92-N TO-92-NPN TO-92-P TO-92A TO-92A-2 TO-92B TO-92B-2 TO-92C TO-92C-2 TO-126 TO-126-H TO-126-H2 TO-126V TO-202H TO-202V TO-202VS TO-218H TO-218V TO-218V-2 TO-220 TO-220_3 TO-220_5 TO-220_5PKG TO-220 - 2 TO-220-1 TO-220-1-DIODE TO-220-2 TO-220-3 TO-220-3-hink TO-220-3S TO-220-5 TO-220-5S TO-220-5V TO-220-7S TO-220-7815 TO-220-LM TO-220-LM-3 TO-220-YA TO-220-YB TO-220-YHR TO-220-YHR-DIODE TO-220-YV35V TO-220AB TO-220AB-1 TO-220AB2 TO-220AC TO-220H TO-220H-2 TO-220H-3 TO-220H-4 TO-220HS TO-220LS TO-220LS-DIODE TO-220LSA TO-220LSB TO-220SM TO-220SM-1 TO-220SS TO-220V TO-220V-1 TO-220V-3 TO-220V-3.8mm TO-220V-AC TO-220VS TO-220VS-1 TO-220YK-2H TO-220YK-2V TO-220YK-3V TO-220YW-2V TO-220YW-3V TO-237 TO-247 TO-247 - 2 TO-247 - duplicate TO-247-YA TO-247-YB TO-247AD TO-247BB TO-247D TO-247H TO-247H - IGBT TO-247H-1 TO-247H-2 TO-247H-4 TO-247H-DIODE TO-247LS TO-247V TO-247V-2 TO-247V-3 TO-251 TO-251H TO-251V TO-252 TO-257H TO-257V TO-262-SM TO-262-V TO-263 TO-263-3 TO-263-5 TO-263-5-2 TO-263-IRF264 TO-263S TO-264-AA TO-264-H TO-264-V TO-264H TO-264V TO-7805 TO-IR424G
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值