Skip to content

程序开发

[Java]聊聊拓扑排序算法

有时候我们需要分析各个任务之间的依赖关系,如何把项目之间的依赖解开,并判断有没有环的存在,这时候可以使用 拓扑排序算法来将相互依赖的任务转换成线性关系

jiami

异或加密(XOR)原理及实现

异或加密是一种加密算法,利用了计算机中的异或计算,异或计算的原理是,相同为 0,不同为 1,并用 powershell 实现了加密算法

json

[C#]Attribute + TypeConverter 实现 Excel To Json

最近在项目上需要实现一个把Excel的内容转成 Json的功能,使用了 Attribute + TypeConverter,Attribute 用于标记列与属性的对应关系,TypeConverter 用于处理特殊数据结构,易于维护,方便扩展

dip 1

OOP系列之OO设计七大原则

对于OOP,想必大家都很熟悉,通常我们说的OOP有5大原则,即SOLID,这里我加上了两条也比较重要的迪米特法则和多用组合少用继承,组成了OO设计的七大原则,我们一起来复习一下。

OOP系列之聊聊依赖

依赖,或者用英语更准确,dependency,是程序设计中不同对象或方法之间所必不可少的,我们的代码就是由不同的方法不同的对象相互调用组成的,因此,对于依赖,我们要做到心里有数,依赖是如何产生的,依赖的强弱关系是怎样的。依赖的强弱是指依赖者对被依赖对象的依赖程度,即替换被依赖对象所花费的代价程度如何,依赖程度越强,替换掉被依赖对象的代价就越大,方法越底层,难度越大,灵活性越差。

[C#]单线程递归遍历文件夹

最近在做一些代码分析的小程序,抓出代码里面符合特定规则的文件,把符合特征的代码文件和代码片段抓出来,输出成一个txt文件,方便统计和查找,为日后分析做准备,因为要遍历所有项目文件,所以需要程序依次访问每个文件夹下的所有文件,因为还有子文件夹,因此想到了用递归来遍历,这个实现没有涉及多线程,以后有机会再改成多线程吧,这里记录一下方法,用到了尾递归。