设计模式の结构型の组合模式
大概意思
一个接口对于多个实现,并且这些实现中都拥有相同的方法(名)。 有时候你需要只运行一个方法,就让不同实现类的某个方法或某个逻辑全部执行一遍。在批量处理多个实现类时,感觉就像在使用一个类一样。
1 | //先建立一个表单 |
这个例子形象的介绍了组合模式,表单的元素可以动态增加,但是只要渲染一次,就可以把整个表单渲染出来。
设计模式の结构型の桥接模式
目的
我们知道一个类可以实现多个接口,一个接口对应多个实现。 在不同的实现类中,它实现接口方法的逻辑是不一样的。 有时候我们需要对这些抽象方法进行一些组合,修改,但是又能适用于所有实现类。 这时候我们需要做一个桥,连接不同的实现类并统一标准。
一个接口多个实现
1 | // 格式化接口 |
设计模式の结构型の适配器模式
说明
我们先来看看下面的代码。先来看看接口的作用。
1 | // 目标角色(对外一致的接口) |
设计模式の创建型の原型模式
简介
对象池(也称为资源池)被用来管理对象缓存。对象池是一组已经初始化过且可以直接使用的对象集合,用户在使用对象时可以从对象池中获取对象,对其进行操作处理,并在不需要时归还给对象池而非销毁它。
若对象初始化、实例化的代价高,且需要经常实例化,但每次实例化的数量较少的情况下,使用对象池可以获得显著的性能提升。常见的使用对象池模式的技术包括线程池、数据库连接池、任务队列池、图片资源对象池等。
当然,如果要实例化的对象较小,不需要多少资源开销,就没有必要使用对象池模式了,这非但不会提升性能,反而浪费内存空间,甚至降低性能。
设计模式の创建型の原型模式
设计模式の创建型の单例模式
linuxの修改语言包
执行
locale -a
发现存在中文语言包,语言包存放路径应该是/usr/share/locale/
。执行
echo $LANG
发现语言配置是 C,大概是 ANSI C 的意思。修改
/etc/locale.conf
为 LANG=”zh_CN.UTF-8”,并执行source /etc/locale.conf
使配置生效。现在支持中文了,可是提示语也变中文了,我想保留英文作为系统语言,同时支持中文,所以重新修改
/etc/locale.conf
LANG=”en_US.UTF-8”,并执行 source
linux の动态库
1. /lib 和 /usr/lib 的区别
/lib 里面给的是 root 和内核所需so(动态库)
或者a(静态)
之类的库文件,而/usr/lib 是普通用户能够使用的。
Linux 的程序有两种模式,这个你应该知道,是用户模式
和内核模式
,和这个也是有关系的,不再冗述。
简单说,/lib 是内核级的,/usr/lib 是系统级的,/usr/local/lib 是用户级的.
/lib/ — 包含许多被 /bin/ 和 /sbin/ 中的程序使用的库文件。目录 /usr/lib/ 中含有更多用于用户程序的库文件。/lib 目录下放置的是/bin 和/sbin 目录下程序所需的库文件。/lib 目录下的文件的名称遵循下面的格式:
1 | libc.so.* |
Ascii码和字节字符的关系
##关于 Ascii 码的整理
1 | - 0 < ascii < 128 单字节字符 == 1xxx xxxx |