??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲成人免费视频,三级国产三级在线,色之综合天天综合色天天棕色http://www.aygfsteel.com/canonical/category/4829.htmlzh-cnTue, 27 Feb 2007 12:25:40 GMTTue, 27 Feb 2007 12:25:40 GMT60[导入]无参数调?/title><link>http://www.aygfsteel.com/canonical/articles/19694.html</link><dc:creator>canonical</dc:creator><author>canonical</author><pubDate>Mon, 14 Nov 2005 07:37:00 GMT</pubDate><guid>http://www.aygfsteel.com/canonical/articles/19694.html</guid><wfw:comment>http://www.aygfsteel.com/canonical/comments/19694.html</wfw:comment><comments>http://www.aygfsteel.com/canonical/articles/19694.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/canonical/comments/commentRss/19694.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/canonical/services/trackbacks/19694.html</trackback:ping><description><![CDATA[<!--StartFragment --> <FONT color=#000000 size=3>    全局变量在现代程序设计中可谓是臭名昭著。函C间通过全局变量形成隐蔽的couple, 其联p难以追t,难以控制Q也使得E序的意囑֏得非帔R晦。但从另一斚w_隐蔽的关联也意味着两个函数的关联没有被固化Q可以随时根据需要做整。例?<BR>    funcA(varA,varB,varC);<BR>        funcB(varA,varB,varC,varD);<BR>        funcC(varA);<BR>        funcD(varA,varB,varC,varD);<BR>    在以上程序中QfuncA调用funcB,但是funcB需要一个特D的参数varD。我们可以选择在funcA的参数列表中增加q一参数Q但q样 funcA的定义就破坏了它本n的意图:它包含了一些具体的与自w意图无关的实现l节。一旦funcB的实现改变,例如它不再需要varD, 或者需要更多的参数Q?则funcA需要随之进行调整?BR>    实际上在E序中我们可以通过两两关系q行参数接力Q也可以采用中心化的方式Q即各个函数都从环境Q公共变量区Q中取得所需参数。面向对象是一U折L解决ҎQ对象的成员函数之间通过成员变量形成隐蔽的依赖,但是q种依赖又不会扩散到对象之外。最理想的情况下Q我们可以采用无参数的函数调用,函数名揭C出我们的意图而不用考虑交互的细节。在写伪代码的时候,l常可以发现我们实际定义q用的参量要远于最l实现所用到的参量。如果我们要实现伪代码方式的E序书写Q那么在变量生存I间上还要做出比面向对象更加灉|Q更加精l的控制?/FONT> <img src ="http://www.aygfsteel.com/canonical/aggbug/19694.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/canonical/" target="_blank">canonical</a> 2005-11-14 15:37 <a href="http://www.aygfsteel.com/canonical/articles/19694.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]解耦只是第一?/title><link>http://www.aygfsteel.com/canonical/articles/19695.html</link><dc:creator>canonical</dc:creator><author>canonical</author><pubDate>Mon, 14 Nov 2005 07:37:00 GMT</pubDate><guid>http://www.aygfsteel.com/canonical/articles/19695.html</guid><wfw:comment>http://www.aygfsteel.com/canonical/comments/19695.html</wfw:comment><comments>http://www.aygfsteel.com/canonical/articles/19695.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/canonical/comments/commentRss/19695.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/canonical/services/trackbacks/19695.html</trackback:ping><description><![CDATA[<!--StartFragment --> <FONT style="COLOR: rgb(0,0,0)" size=3>    在Y件开发中Q很重要的概念就是解?decouple)Q其更加数学化的表述是正交分解。但是按照列设计理论,元素完全独立的一阶系l只是复杂性最低的模型Q或者说Q当我们在信息不的情况下识别出pȝ中最主要的几个实体之后,对它们的最自然的假讑ְ是互相独立。随着认识的深入,需要逐步补充元素之间的相互作用方式。这如同TaylorU数展开QQ何解析函数都可以展开为TaylorU数Q而在物理世界中,一般前几项q似p够了Q因而才造就了如此多的线性定理。在软g开发中Q演?evolution)逐渐成ؓ一个重要的概念Q我们也开始关心vpȝ设计长期的适应性,特别是随着pȝ的发展,我们认识的深入,如何才能逐步引入新的l构而不破坏原先的整体架构。即我们需要能够控制微?perturbation)下原有系l结构的E_性。但是在目前的Y件世界中Q连构造基本的l构都困N重,更别说对l构E_性的研究了。不q这是一个@序渐q的q程Q迟早它会被提上议事日程?BR>    在分解过E中Q一个基本的问题是对象之间确实存在着怺作用Qƈ不是无关的。此时常用的手法是抽提出公共接口Q即对象不再两两依赖而是共同依赖于某U公q识?BR>          objectA Q?-Q?objectB    ==Q?nbsp; objectA Q?-Q?commonInterface Q?-Q?objectB<BR>    q就如同物理中场方程的处理方式,_子不再是两两发生作用而是独立的与外部q_场发生作用,而粒子之间认为是独立的?/FONT> <img src ="http://www.aygfsteel.com/canonical/aggbug/19695.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/canonical/" target="_blank">canonical</a> 2005-11-14 15:37 <a href="http://www.aygfsteel.com/canonical/articles/19695.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]AOP与结?/title><link>http://www.aygfsteel.com/canonical/articles/19696.html</link><dc:creator>canonical</dc:creator><author>canonical</author><pubDate>Mon, 14 Nov 2005 07:37:00 GMT</pubDate><guid>http://www.aygfsteel.com/canonical/articles/19696.html</guid><wfw:comment>http://www.aygfsteel.com/canonical/comments/19696.html</wfw:comment><comments>http://www.aygfsteel.com/canonical/articles/19696.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/canonical/comments/commentRss/19696.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/canonical/services/trackbacks/19696.html</trackback:ping><description><![CDATA[<!--StartFragment --> <FONT color=#000000>函数装可以看作是对语句中的一个区_rangeQ的抽象Q基本等价于一个点抽象Q,而AOP (Aspect Oriented Programming)则定义了一l线性结构(E序文本Q中的区间的边(boundaryQ。在未有aop之前Z定义q种boundary, 我们往往不得不借助于承技术,通过在基c?base class)中预先定义所需的结构来打破函数的原子性。例?BR>class BaseClass{<BR>   public void doSomething(){<BR>       before();<BR>       reallyDo():<BR>       after();<BR>   }</FONT> <P><FONT color=#000000>   protected void before(){}<BR>   protected void after(){}<BR>}</FONT></P> <P><FONT color=#000000>class ExtClass extends BaseClass{<BR>   protected void before(){<BR>       ....<BR>   }<BR>}</FONT></P> <P><FONT color=#000000>Ҏ拓扑?topology)Q二l情况下最重要的拓扑结构是所谓的?loop)。例如,在界面上我们l常各U不同的内容攄在某一cd定的Ҏ中,一U好的界面技术应该能够将q种Ҏ独立的抽象出来。在witrixq_的tpl模板语言中,我们通过bodyTag可以L的实现这一抽象?BR>Qapp:普通消息边框><BR>Qinput type="text" value="name" /Q?BR>...<BR>Q?app:普通消息边框><BR>q种抽象其实已经出了AOP的范畴?/FONT></P><img src ="http://www.aygfsteel.com/canonical/aggbug/19696.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/canonical/" target="_blank">canonical</a> 2005-11-14 15:37 <a href="http://www.aygfsteel.com/canonical/articles/19696.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]关于l构http://www.aygfsteel.com/canonical/articles/19699.htmlcanonicalcanonicalMon, 14 Nov 2005 07:37:00 GMThttp://www.aygfsteel.com/canonical/articles/19699.htmlhttp://www.aygfsteel.com/canonical/comments/19699.htmlhttp://www.aygfsteel.com/canonical/articles/19699.html#Feedback1http://www.aygfsteel.com/canonical/comments/commentRss/19699.htmlhttp://www.aygfsteel.com/canonical/services/trackbacks/19699.html

     所谓结构,单的说就是一l关pȝ集合。(l构是关系的说法就太过于简陋了Q。在数学上,最基本的关pd是集合之间的包含Qcontains)关系Q而等?equivalance)关系Q序(order)关系Q坐标){都可以Z包含关系推导出来。从集合论的角度上说Q所谓的关系也是通过集合来刻ȝQ两元素相关指的是它们属于同一集合Q,而函数的定义是集合之间的映。因此,在集合论看来Q一切都是集合,数据的结构与函数的结?或者结构的l构的结构之间ƈ无本质性的区别, 甚至数据与结构之间也存在着内在的统一性。一些我们早已默认接受的基本实体Q在集合论的框架下也是通过集合的结构来ȝ的,例如自然?,2,3Q这些数字本w也是通过一些复杂的构造过E来q行描述的,它们只是一些基本结构的速记W号而已?BR>    当然Q世界ƈ不简单。集合论所没有q及的一个事实是Q集合的集合比集合本w要复杂。结构的U列也构成了复杂性的U列Q每一个层ơ都比前一个层ơ要复杂的多。最明显的表现就是函数的L比实数多。在现实的世界中Q我们很多时候都是处在某一复杂性层ơ上Q因而可以深切的感受到基本元素与l构Q与l构的结构之间的q种深刻的差异?BR>   
    伟大的von Neumann在计机世界中定义了两种基本的东西,数据与指令,在von Neumann体系架构下,两者的界限是明的。CPU的存在定义了指o与数据之间的l合关系Qapply), 而CPU的串行执行强制定义了指o之间的序关系(order)。在软g中我们通过函数装定义了指令的集合Q而这些集合之间仍然存在着由main函数所驱动的序关系。因为函C是通过数据Q代码)来表辄Q因而在形式语义上,我们有可能证明能够表辄函数l构与数据结构是完全一致的Q注Q这斚w我ƈ无研IӞ也不太感兴趣Q。但是现实情况下Q我们对函数之间的结构的控制要弱于对数据l构的控制。最明显的,E序q行Ӟ函数(指oQ空间基本上是静态的Q不变的Q而数据空间则不断的发生着变化。现代Y件系l中plugin, 动态配|,q行时java代码增强(enhance){技术的不断发展正在逐渐~小着q方面的差距?/FONT>

    在数据结构方面,C语言中的Structl构体是一个很大的q步。因为由此引出的复杂cdpȝ是对l构的一U抽象描q? 在编译期唯一的一个Struct定义可能对应着q行期的多个实例(instance)。而在引入模板(template)Ҏ之前,每个函数定义都唯一的对应于一些二q制指o。类(Class)相对于Struct的突破之处在于它表达了函敎ͼ指oQ与数据之间的相兛_pRClass之间的关pL成结构的l构。在~译期,我们所面对的只是类型定义,因而处理的正是l构问题Q此时ƈ没有实际的数据实例。而传l上Q编译期所处理的结构都是静态的Q现在脚本语a (script)与language oriented programming正在逐渐H破q一限制。编译期处理l构问题所造成的另外一个现实是Q目前我们对于结构的描述必须Zcdpȝ来进行,一般情况下无法方便的单独定制实例的l构?BR>    函数在其本义上只是对数据的变换,从数据空间的角度看,函数可以被看作是数据之间的一U动态结构,其最lŞ态在q行时结合输入数据才展开。高?(higher order)函数接受函数作ؓ参数Q因而可以看作是对结构的变换。但无论如何Q函Cq程化处理ƈ不是一回事Q只是在von Neumman体系下,可以观测到函数顺序执行才引入了时间概c?/FONT>



canonical 2005-11-14 15:37 发表评论
]]>
վ֩ģ壺 | | ٸ| Ĭ| ϲ| ۶| | | ҽ| | ʼ| | | ֶ| | | | | | ɽ| | | | | ɽ| | ʲ| | | | | | | | ָ| | | ɽ| ̫| | |