设计模式笔记1:设计模式概述
1.解决软件复杂性 面对需求等不断的变化,就需要软件也随之而变,由此带来软件设计的复杂性。 变化是软件设计复杂的根本原因。解决软件复杂性主要有以下两个思维方式。 好的软件评价标准就是代码的复用性。 分解是一种分而治之的思想,这种思想并不利于软件的复用。 而抽象则是提取共性,是一种高层次...»
1.解决软件复杂性 面对需求等不断的变化,就需要软件也随之而变,由此带来软件设计的复杂性。 变化是软件设计复杂的根本原因。解决软件复杂性主要有以下两个思维方式。 好的软件评价标准就是代码的复用性。 分解是一种分而治之的思想,这种思想并不利于软件的复用。 而抽象则是提取共性,是一种高层次...»
之前利用JS和Cookie开发了搜索聚合的网页,见这篇博客。 受它的启发,又想着可以考虑开发一个“翻译聚合”工具,即实现“一次输入、多个翻译”的结果。 在多个结果中可以进行对比筛选,选择一个最好的翻译结果。 1.思路与框架 总体思路与框架如下图所示。 对于每一个翻译都定义出对应的翻译函...»
在之前的博客中,通过Socket简单实现了Android手机与电脑之间的数据传输,博客在这里。 但某种程度上来说是实现了手机姿态数据到电脑的传输,电脑并没有发送什么实际的数据给手机。 因此在这篇博客中以更广泛的使用场景,也即网页与服务器的数据交互为目标,学习WebSocket的使用。 实现...»
1.用途 在之前写了一个批量处理博客图片的脚本,Github是这里,博客是这里。 可能是五一放假没什么事情,所以就写了个用于生成博客目录的工具。 这样就再也不用自己手动一点点地去编辑目录了,也算是提升了效率吧。 像当年这篇博客,自己一点点复制标题和链接写出来也是算是很有毅力了,如下图。 ...»
1.堆(Heap)与栈(Stack) 由普通方式新建出来的对象属于stack object,利用new方式创建出来的对象属于heap object。它们的区别在于不同的生命周期。 简单来说就是栈对象的声明周期是当前所在的作用域(Scope),超出这个作用域就会被回收。 堆对象生命周期是整...»
| powered by freefind | advanced |