摘要:
一、概念策略模式(Strategy):它定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法的变化不会影响到使用算法的客户。(原文:The Strategy Pattern defines a family of algorithms,encapsulates each one,and makes them interchangeable. Strategy let... 阅读全文
摘要:
1. 单一职责原则(SRP),就是,就一个类而言,应该仅有一个引起它变化的原因。
2. 开放-封闭原则
是说软件实体(类、模块、函数等)应该可以扩展,但是不可修改。
3. 依赖倒转原则
A. 高层模块不应依赖于低层模块。两者都应依赖抽象。
B. 抽象不应依赖于细节。细节应该依赖于抽象。
阅读全文
摘要:
命令行的输出重定向和错误重定向很简单,在命令参数后直接使用“>>”(输出重定向)或“2>”(错误重定向)即可。例如将执行cmdname命令(带参数param)的结果输出到当前路径下的output.txt文件中,若出错则将错误信息输出到err.txt中:cmdname param >>output.txt 2>err... 阅读全文
摘要:
简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。它又称为静态工厂方法模式,属于类的创建型模式。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。
简单工厂模式实际上是对面向对象继承中常用的Override技术的一次简单的应用。写一个基类ClassBase,并定义一个虚函数vf,再为写几个子类继承这个基类ChildClass:ClassBase,并实现自己的函数vf。工厂类只是负责根据输入参数的不同来生成不同的子类,并将生成的子类作为基类返回(这样可以让客户端在使用的时候很方便)。客户端只需要调用工厂类创建一个基类的实例,然后调用这个实例的函数vf来实现自己的功能。
阅读全文
摘要:
我上研期间所在的项目需要使用subversion的特性,在天涯上发表过这篇文章,今天把它再转在这里。 当我把编译subversion需要的头文件和依赖的库都配好时,编译能通过,链接却总有问题。当时想找篇使用subversion client api编程的指导文档,好难,网上的相关文章很少,周围的人也都不熟悉subversion,摸索了一个多周,总算迈出最艰难的第一步。小结一下,希望各位大虾不吝赐教... 阅读全文