`
jack_boy
  • 浏览: 135535 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
由于 go get code.google.com/p/go-tour/gotour 报错: # cd .; hg clone -U https://code.google.com/p/go-tour /usr/home/huaying/go/src/pkg/code.google.com/p/go-tour abort: error: EOF occurred in violation of protocol package code.google.com/p/go-tour/gotour: exit status 255 还有其它各种错误,总之无法使用go get 安装 只能手动下载安装 ...
意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类 结构: AbstractFactory声明一个创建抽象产品的操作接口 ConcreteFactory实现创建具体产品对象的操作 AbstractProduct为一类产品对象声明一个接口 ConcreteProduct定义一个将被相应的具体工厂创建的产品对象,并且要实现AbstractProduct接口 实现示例: public abstract class ProductA { abstract void operationA(); } public abstract class ProductB { a ...
意图:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态发生改变时,会通知所有观察者对象,是他们能够自动更新自己。 别名:Publish/Subscribe模式 结构图:     Subject:主题     Observer:观察者     观察者可以定义他感兴趣的主题,一个主题可以呗多个观察者所订阅,当主题(Subject)的状态发生改变时会通知它所有订阅它的观察者。     Subject类中的Notify方法,是在其状态改变时调用,Notify方法会调用所有Observer中的update方法。Observer类中的update方法在其子类中实现,所 ...
本文只记录配置本地subversion,没有认证,http,ssh等配置 1. 安装subversion服务端     yum install subversion     或源码编译安装 2.  创建svn用户组 root用户 # groupadd developers //增加组developers # usermod -a -G developers username //将用户username添加到developers中 # id username //查看username ...
       int scanf(const char *format, ...);        int fscanf(FILE *stream, const char *format, ...);        int sscanf(const char *str, const char *format, ...); 其中的format可以是一个或多个 {% [width] [{h | l | I64 | L}]type | ' ' | '\t' | '\n' | 非%符号}   注:   1、 * 亦可用于格式中, (即 %*d 和 %*s) 加了星号 (*) 表示跳过此数据不读入. ( ...
系统: # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加载的内核模块 # env # 查看环境 ...
意图:定义一个用于创建对象的接口,让子类决定实例化哪一个类,Factory Method使一个类的实例化延迟到其子类。 别名:虚构造器(Virtual Constructor) 结构: Product类或接口,定义工厂方法所创建的对象的接口 ConcreteProduct类,实现Product接口 Creator类,声明工厂方法factoryMethod,该方法返回一个Product类型的对象。Creator也可以定义一个工厂方法的缺省实现,返回一个缺省的ConcreteProduct对象;可以调用工厂方法创建一个Product对象。 ConcreteCreator类,重定义工厂方法以放回一个 ...
意图:为其它对象提供一种代理以控制对这个对象的访问。 结构图如下: 示例代码: public abstract class Subject { public abstract void request(); } 抽象类Subject定义了RealSubject与Proxy的公共接口,使得Proxy可以代替Subject public class RealSubject extends Subject { @Override public void request() { System.out.println("RealSubject"); } ...
意图:动态的给一个对象添加一些额外的职责,就增加的功能来说,Decorator模式相比生成子类更为灵活。 别名:Wrapper 结构图如下: Decorator维持一个指向Component对象的引用,并定义一个与Component接口一致的接口。 ConcreteDecorator则是负责向ConcreteComponent添加职责的类 Decorator将Operation()请求转发给它的Component对象,并有可能在转发请求前后执行一些附加的操作。 示例代码如下 public abstract class Component { public abstract void ...
抽象类:一种聚集相关实体的方式,其关注点是“如何设计具体的派生类/实现,从而可以以相同的方式使用他们” 接口:关注点是“要使用派生类/实现的对象”
定义:策略模式封装了一系列的算法,所有算法完成相同的工作,但实现不同,可以以相同的方法调用所有的算法,减少各种算法类与使用算法类之间的耦合。 结构图如下 Context类维护一个Strategy类的引用,由ContextInterface接口操作Strategy子类,这样客户端就只要知道Context类就可以了。 一个简单的例子,目的只在说明Strategy模式的类关系。 Strategy抽象类 class Strategy end Strategy子类 class ConcreteStrategyA < Strategy def algorithmInterfa ...
简单工厂方法将变化放到工厂类中,让子类能够独立的变化,相互之间不影响 比如有一个普通的netIO流,它有open,close,read,write操作,而SLL io也有同样的操作,但是操作的方法不同。如果在程序主体中用条件语句来区分,会让程序分支很多,要做修改时,不得不检查所有的代码,如果将IO流抽象为一个stream类,有open,close,read,write操作 class Stream { size_t read(size_t len); size_t write(size_t len); void open(char *remote); void cl ...
Centos6.0 yum install php php -i | grep cgi 有--enable-fastcgi --enable-force-cgi-redirect选项,安装的是php fastcgi版本 按照wiki.nginx上的说明添加yum repo /etc/yum.repos.d/nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1 yum install nginx 修 ...
Global site tag (gtag.js) - Google Analytics