一切软件开发都是二次开发

说到二次开发,接触比较多的是AutoCAD二次开发、Revit二次开发,这些都属于典型的二次开发。二次开发的直观定义是:基于某一个软件提供的接口进行编程开发,从而实现对这个软件的操作自动化。但今天我要更进一步提出“一切软件开发都是二次开发”这个观点。

阅读更多

Inno Setup安装包制作

Inno Setup与NSIS有异曲同工之妙,且拥有更加简明的语法,其基于Delphi的扩展开发语法也更加友好。

花些时间简单了解一下,作为技术储备不深入研究,实际工作中主打NSIS。

阅读更多

NSIS安装包制作

安装包制作是软件发版的关键步骤,制作安装包的工具很多,总体分为两类:GUI工具(Advanced Installer等)、脚本工具(NSIS、Inno Setup等)。

本人在实际工作中深度使用NSIS,感受到了它的强大;同时,也喜欢Inno Setup更加简明的语法和基于Delphi的扩展开发。

阅读更多

排序算法(1)

排序算法在整个算法体系中属于比较基础的知识,以致于大多数人并没有意识到它对于构建当今计算机庞大技术体系所发挥的巨大作用。

对于很多算法问题而言,要想直接找到更小时间复杂度的方案非常困难,但是一旦将数据排好序,问题就会迎刃而解,所以排序算法扮演着算法基石的作用。

计算机科学家们很早就开始研究各种排序算法,排序算法时间复杂度的每一次微小降低,都会在计算机世界引起轰动。

阅读更多

设计模式——类图汇总

设计模式种类繁多,且许多模式之间存在相似之处,要想熟练掌握并在实际项目中灵活运用,需要在实际项目中不断总结。

本着“从少到多,由多变少”的学习原则,我认为应该以类图为核心,做到三点:①观察类图能快速识别模式;②能在大脑中熟练描绘各种模式的类图;③结合类图,理解设计模式的结构特点和解决问题的思路。

所以,本文集中列举各种设计模式的类图,方便随时回顾理解。

阅读更多

设计模式——概览

除了功能和性能外,可维护性也是软件开发关注的一大重点,因为任何有价值的软件系统都处于不断迭代的过程中,迭代就意味着变化,例如功能扩展、系统移植等等。而软件开发成本巨大,如何应对变化就成了一门大学问。

设计模式就是为了应对变化,它是面向对象软件设计的精髓,每一种设计模式都描述了在我们周围不断重复出现的问题以及解决该类问题的最佳方案。

虽然大多数书本上只讲解典型的23种设计模式,但设计模式作为工程经验的产物绝对是不断发展变化的。

本系列文章以设计模式的类图为核心,随着项目经验的丰富,将为每种设计模式逐步添加案例分析和使用心得分享。

阅读更多