重构-改善既有代码的设计-书摘

重构-改善既有代码的设计-书摘 重构是在不改变软件可观察行为的前提下改善其内部结构。设计模式为重构行为提供了目标,模式是你希望到达的目标,重构则是到达之路。 重构,第一个案例 如果你发现自己需要为程序添加一个特性,而代码结构使你无法很方便地达成目的,那就先重构那个程序,使特性的添加比较容易进行,然后再添加特性。 重构之前,首先检查自己是否有一套可靠的测试机制。这些测试必须有自我检验能力。 重...

阅读全文

设计模式-工厂模式

工厂模式属于创建型模式。工厂模式有四种类型: 工厂方法模式 抽象工厂模式 静态工厂方法 简单工厂模式 不使用设计模式 当我一个人在家写代码,我不使用设计模式。 小规模的项目,不需要经常修改的项目,我不使用设计模式。 使用设计模式需要权衡它的优势和可读性、可理解性。 工厂模式的目的是常见对象,对于简单的对象,我们可以直接使用构造器创建。 123456789101112131415161...

阅读全文

最好的编成语言

英文原文:The best programming language - Coding Geek 我在工作闲暇的时候,喜欢阅读技术论坛。其中有一类文章我特别喜欢:编成语言之间的唇枪舌战。我之所以喜欢这类文章,是因为你可以看到一些充满激情和智慧的人好像在用生命争辩一样。 这些文章有两个特点: 我可以当乐子 我可以学到新东西 如一篇Java新手写的帖子:Java is the best l...

阅读全文

字符串匹配算法

字符串基本操作字符串时字符的有序集合。 举例:给定N长度的字符串S,所有字符向右移动K个位置,K<=N。1234567891011void shiftByK(char S[], char shiftedS[], int N, int K) { // Iterate through the length of given string for(int i=0; i&...

阅读全文

图论

概述图是表示对象之间两两关系的数据结构。图可以直观的由节点和边表示。 无向图:所有的边都是双向的。 有向图:所有的边都是单向的。 权重的图:图的每一条边是有权重的。如1->4->3的权重:3+2=5 有环图:从一个节点出发,能够回到同一个节点,这个路径就是一个环,不包含环的叫无环图。树是无向无环图 图的表示: 邻接矩阵用一个N*N的二维数组表示N个节点之间的关系。如:以下...

阅读全文

© 2017 Hello World All Rights Reserved. 本站访客数人次 本站总访问量
Theme by hiero