既然说到设计模式那就顺便回顾一下六大设计原则,六大设计原则是心法,二十三种设计模式是内功,下面只是简明的叙述了一下,后面还会有更详细的说明! 一 、 类单一职责原则:Single Responsibility Principle (SRP) 一个类只有一个引起这个类变化的原因。即一个类只完成一个功能,如果做不到一个类只完成一个功能,最少要保证一个方法只完成一个功能。
二、依赖倒置原则:Dependency Inversion Principle (DIP) 高层组件应该依赖抽象而不依赖具体,即面向接口编程,一般依赖的成员变量或者参数都应该是抽象的不应该是具体的。
三、里氏替换原则:Liskov Substitution Principle (LSP) 凡是父类出现的地方都可以用子类代替并且原功能没有发生变化,子类不应该覆盖父类的非抽象方法。
四、迪米特法则:Least Knowledge Principle (LKP) 一个类要尽量的封装自己,一个对象应该对其他对象有最少的了解,一个类只需要知道自己需要耦合或者调用类的public方法即可。
五、接口隔离原则:Interface Segregation Principle (ISP) 一个接口完成的功能尽可能的单一,不要让一个接口承担过多的责任。
六、开闭原则:The Open-Closed Principle (OCP) 对扩展开放,对修改闭合。
都知道vim是Linux下的编辑器之神,当然还有emacs也是特别NB的,个人在Linux下比较常用的也就是Vim了,接下来说说vim的一些配置技巧:
cfunc Setfilehead()
call append(0, '/***********************************************')
call append(1, '# Filename: '.expand("%"))
call append(2, '# Author: Tim 15291418231@163.com')
call append(3, '# Description: ---')
call append(4, '# Create: '.strftime("%Y-%m-%d %H:%M:%S"))
call append(5, '# Last Modified: '.strftime("%Y-%m-%d %H:%M:%S"))
call append(6, '***********************************************/')
call append(7, '')
call append(8, '#include <stdio.h>')
call append(9, '#include <stdlib.h>')
call append(10, '#include <unistd.h>')
call append(11, '#include <sys/types.h>')
call append(12, '')
call append(13, 'int main(int argc, char *argv[]){')
call append(14, '')
call append(15, ' return 0;')
call append(16, '}')
endfunc
"映射F1快捷键,生成后跳转至第14行,然后进入vim的插入模式
map <F1> :call Setfilehead()<CR>:14<CR>o
这样的话只要新建源文件的时候按一下F1,代码就会自动添加到源文件中了!