随笔分类 - IT书籍
摘要:工厂模式 工厂模式:顾名思义就是使得这个类的作用和工厂一样,生产产品,在这里使用,我们就是生产类。工厂模式就是生产类,创建类的模式。 其在父类中提供一个创建对象的方法,允许子类决定实例化对象的类型。 代码绑定着具体类会导致代码更脆弱,更缺乏弹性,不易扩展,修改困难。 针对接口编程,可以隔离掉以后系统
阅读全文
摘要:看到掘金的30天发文连更挑战,想试试自己到底可以连续坚持几天,奖品不奖品的不重要,重在参与吗? 接下来的30天里,我将带领大家一起学习设计模式,以前总觉得设计模式很复杂,在一般的常规编程中很少使用到,仔细阅读后发现,之前的想法是多么无知。如果一个编程人员想提升自己,想让自己更加值钱,那么代码规范,设
阅读全文
摘要:重构2-重新组织函数 重构的基本技巧--小步前进,频繁测试。 模式是你希望到达的目标,重构则是到达之路。 在单进程软件中,你永远不必操心多么频繁地调用某个函数,因为函数的调用成本很低。但在分布式软件中,函数的往返必须被减至最低限度。 (Extract Method)提炼函数 含义:将一个复杂的大函数
阅读全文
摘要:重构改善既有代码的设计 在日常的编码过程中,这些知识点可能是非常容易忽视或者由于编码习惯而出差错的地方 软件工程的意义:希望建立完美的需求与设计,按照既有的规编写标准划一的代码,这是结构的美;快速迭代和RAD颠覆“全知全能”神话,用近乎刀劈斧砍的方式解决问题,在混沌的循环往复中实现需求,这是解构的美
阅读全文
摘要:任何一个算法的设计取决于选定的数据结构,而算法的实现依赖于采用的存储结构。 之前线性表的数据元素都是非结构的原子类型,元素的值是不可再分的。下面学习的这两个线性表是很特殊的,其中数据元素本身也可能是一种数据结构。 认识数组和广义表 数组可以看成是一种特殊的线性表,也就是线性表中的数据元素本身也是一个
阅读全文
摘要:关于链表我觉得这都是最基本的东西,但是不常见,在实际的应用中很少的使用,了解它会用就OK,不需要研究的那么深,除非做那种内存压缩,存储方面工作。 C语言中动态申请空间 malloc() 在内存空间不足或者栈满的情况下,就需要重新申请内存,此时可以使用malloc动态的申请栈,当无法知道内存具体位置的
阅读全文
摘要:马上要到校招了,复习下相关的基础知识。 时间复杂度是什么? 官方解释: 算法的执行时间需要依据算法所编制的程序在计算机上于运行时所消耗的时间来度量。在算法中可以使用基本的语句的执行次数作为算法的时间复杂单位,可以认为一个特定算法时间性能只依赖于问题的规模(n),或者说它是一个特定算法时间性能只依赖于
阅读全文