- 博客(9)
- 资源 (20)
- 收藏
- 关注
转载 设计模式原则:接口隔离原则
设计模式原则:接口隔离原则接口隔离原则: 客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。(图片来自网络)见上图,该把接口细分到3个接口中去,保证每个类都只实现它需要的接口。接口隔离原则与单一职责原则有什么区别呢?单一职责原则,是指一个类只应该响应一个变化。比如一个赛马的程序,需要两个功能一是记每匹马跑的圈数,另一个是计算谁是对每匹马计算最终得分。...
2018-05-11 11:21:00 203
转载 设计模式原则:开放封闭原则
开闭原则,顾名思义,对扩展开放,对修改封闭。在谈细一点,对什么扩展开放?对什么修改封闭?还是用经典的Client和Server举例吧。客户端使用服务器,或者叫使用服务器提供的服务。在左边的图,客户端直接依赖于服务。这会造成,一旦由另一个提供程序服务,则客户端也需要修改。当增加了Client In...
2018-05-11 11:17:15 385
转载 设计模式原则:依赖倒置原则
设计模式原则:依赖倒置原则通常情况的设计都是高层模块依赖于低层模块。这样看似顺理成章,低层模块不怎么变动,高层模块调用低层模块。但是事实上,事物总是在变化,经常低层模块变化,引起高层一系列的变化。看看依赖倒置是怎样解决这个问题的?它的两个原则:1. 高层模块不该依赖于低层模块, 二者都该依赖于抽象2. 抽象不应该依赖于细节,细节应该依赖于抽象看下图,在层之间加入接口抽象类。...
2018-05-11 11:05:39 1044
转载 设计模式原则:单一职责原则
设计模式原则:单一职责原则“一个类仅有一个职责”或者“引起类变化的只有一个原因”,这就是单一职责原理。类只因一个原因而变化,这仿佛是一种新的类定义方式。当接触面向对象编程时,试图把一个类对比为一个事物,事物具备的功能都是这个类的操作。比如,一根尺子,既可以用来打学生手板,也可以用来丈量布匹。而在单一职责原理下,尺子的两个功能就是引起这个类变化的两个原因,就应该写成两个类。如果混...
2018-05-11 11:00:49 229
转载 设计模式原则:里氏替换原则
设计模式原则:里氏替换原则         肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑。其实原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的。定义1:如果对每一个类型为 T
2018-05-11 10:37:42 162
转载 【编译原理】语法分析(四)
本文是语法分析的第四篇文章,第一篇文章介绍了基本的文法、推导和归约的概念,第二篇文章介绍了自顶向下的语法分析和LL(1)方法,第三篇文章介绍了自底向上的语法分析和SLR方法。本文将承接第三篇文章,介绍比SLR更为强大的LR方法。PS:阅读本文需要掌握前三篇文章的知识,建议读者先阅读前三篇文章。文法&约定...
2018-05-07 20:07:36 1104 1
转载 【编译原理】语法分析(三)
常用的语法分析方法包括自顶向下和自底向上的方法,在上一篇文章中已经介绍了自顶向下的语法分析方法,本文将介绍自底向上的语法分析方法。文法&约定按照惯例,我们给出一个贯穿全文的表达式文法G: E→E+T|T T→T*F|F F→(E)|id123以及使用的符号约定:大写字母:表示非终结符号,如A、B、C等;小写字...
2018-05-07 20:05:25 1458
转载 【编译原理】语法分析(二)
在第一篇文章中,我们介绍了如何用上下文无关文法描述一种语言的语法,和如何使用推导和规约构造一棵语法分析树,以及如何对文法进行转换使之能够更适用于语法分析。在本篇文章中,我们将介绍如何使用自顶向下的方法进行语法分析,进一步的,我们将介绍一种更高效的预测分析方法。文法&约定为了下文需要和减少重复,我们先给出在下文中用到的一个表达式文法和一些符号约定。...
2018-05-07 20:04:35 3126
转载 【编译原理】语法分析(一)
词法分析器把源程序转换成了一个词素序列,它让我们知道了一个符号序列’i’、’f’是一个关键词”if”,而一个符号序列’1’、’2’、’3’、’4’是一个常量”1234”等等。但是,词法分析器的工作也到此为止了,它不能说明几个词素之间的关系。例如,对于词素串”int”、”x”、”=”、”1”、”;”,词法分析器不知道它是一个语句;对于词素串”int”、”x”、”=...
2018-05-07 20:02:24 1947
Linux网站搭建流程
2017-12-22
数学建模教材(精品)
2017-09-27
Linux操作系统实验教程_南大版
2017-09-23
2016年考研核心考点——计算机组成原理
2017-09-23
2016年考研核心考点-----计算机网络
2017-09-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人