编程杂锦
aben_2005
这个作者很懒,什么都没留下…
展开
-
设计模式之禅5:迪米特法则
五、迪米特法则 迪米特法则(Law of Demeter,LoD)也称为最少知识原则(Least KnowLedge Principle, LKP),虽然名字不同,但描述的是同一个规则:一个对象应该对其他对象有最少的了解。通俗地讲,一个类应该对自己需要耦合或者调用的类知道得最少,你(被耦合或调用的类)的内部是如何复杂都和我没关系,那是你的事情,我就知道你提供了这么多的public方法,我就调用这么多,其他的我一概不关心。 迪米特法则对类的低耦合提供了明确的要求,其包含以下四层含义: 1、只和朋友交流转载 2011-05-10 18:01:00 · 2317 阅读 · 2 评论 -
设计模式之禅:里氏替换原则
一、单一职责原则(Single Responsiblility,SRP) 单一职责原则的定义是:应该有且仅有一个原因引起类的变更。但是,在实际中,单一职责原则很难在项目中得到体现。是的,类的单一职责确实受到非常因素的制约,纯理论的讲,这个原则是非常优秀的,但是现实有现实的难处,你必须去考虑项目工期、成本、人员技术水平、硬件情况、网络情况甚至有时候还要考虑政府政策、垄断协议等因素。因此,对于单一职责原则,我的建议是借口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化。 二、里氏替换原则(Livko转载 2011-05-10 15:21:00 · 1384 阅读 · 1 评论 -
编译过程的五个阶段
编译程序的工作,从输入源程序开始到输出目标程序为止的整个过程,是非常复杂的。但就其过程而言,它与人们进行自然语言直接的翻译有许多相近之处。当我们把一种文字翻译为另一种文字,例如把一段英文翻译为中文时,通常需经下列步骤: (1)识别出句子中的一个个单词; (2)分析句子的语法结构; (3)根据句子的含义进行初步翻译; (4)对译文进行修饰; (5)写出最后的译文。 类似地,编译程序的工作过程一般也可以划分为五个阶段:词法分析、语法分析、语义分析与中间代码产生、优化、目标代码生成。 第一阶段:词法转载 2011-05-25 11:07:00 · 14331 阅读 · 1 评论 -
编译原理书籍推荐
大学课程为什么要开设编译原理呢?这门课程关注的是编译器方面的产生原理和技术问题,似乎和计算机的基础领域不沾边,可是编译原理却一直作为大学本科的必修课程,同时也成为了研究生入学考试的必考内容。编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂。我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专注解决一种的算法了。在20世纪50年代,编译器的编写一直被认为是十分困难的事情,第一Fortran的编译器据说花转载 2011-05-25 15:50:00 · 10885 阅读 · 0 评论