sock_raw(注意一定要在root下使用)原始套接字编程可以接收到本机网卡上的数据帧或者数据包,对于监听网络的流量和分析是很有作用的.一共可以有3种方式创建这种socket 1.socket(AF_INET, SOCK_RAW, IPPROTO_TCP|IPPROTO_UDP|IPPROTO_I ...
分类:
其他好文 时间:
2018-07-15 16:17:19
阅读次数:
137
原创 以下内容来自《Java 2实用教程》,主编:耿祥义、张跃平 鉴于面向抽象编程和面向接口编程思维培养的重要性,写此博客巩固。 面向抽象编程: 在设计程序时,经常会使用到abstract类,其原因是,abstract类只关心操作,而不关心这些操作具体的实现细节, 可以使程序的设计者把主要精力放在程 ...
分类:
其他好文 时间:
2018-07-07 22:16:11
阅读次数:
252
1、单一职责。类要职责单一。 2、里氏替换原则。不要破坏继承体系。 3、依赖导致原则。要面向接口编程。 4、接口隔离原则。接口要精简单一。 5、迪米特法则(最少知道原则)。要降低耦合。 6、开闭原则。是设计总纲,对扩展开放,对修改关闭。 详情:http://www.cnblogs.com/pony1 ...
分类:
其他好文 时间:
2018-07-07 12:36:43
阅读次数:
162
设计模式遵循原则 开闭原则:对扩展开放,对修改关闭 里氏代换原则:只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被覆用。而衍生类也能够在基类的基础上增加新的行为 依赖倒转原则:开闭原则的基础,对接口编程,依赖于抽象而不依赖于具体 接口隔离原则:使用多个隔离的接口来降低耦合度 迪 ...
分类:
编程语言 时间:
2018-07-07 00:23:34
阅读次数:
197
1.前言 直接new一个对象是最简单的创建对象的方式,但大量出现在业务代码中会带来至少两个问题。1:创建对象的细节直接暴露在业务代码中,修改实现细节必须修改相关的大量客户端代码。2:直接面向具体类型编程,违反了面向接口编程的原则,系统进行扩展时也不得不进行大量修改。要使得系统具有的良好的可扩展性以及 ...
分类:
其他好文 时间:
2018-07-07 00:21:50
阅读次数:
199
面向接口编程就是将对象中的某个功能提取出来作为接口,而功能的具体实现则交由继承自这个接口的实现类处理。 面向接口的好处是降低程序的耦合性,当有新的功能时只需要对新功能进行编写,不需要修改已有的代码 下面是一个简单的范例: 假设作为父类的鸭子类Duck具有飞行的功能,继承自它的两个子类大鸭子BigDu ...
从置换到面向对象 对象化的划分,需要通过逻辑的分解进行,然而分解不过是我们有限的思维能力下的一种使用方法而已,我们在进行逻辑分解的过程中过多夸张了其独立性,是从某一个角度和一个方面来分解,然而对于无限的客观对象,我们只能够近似的逼近,客观对象永远是彼岸无法企及。客观对象具有无穷多的参照方面,因为其本身的无限,是无法通过有限的分解将其分离。所以分解完成以后,组合这些
分类:
其他好文 时间:
2018-06-27 10:21:22
阅读次数:
173
抽象不应该依赖细节,细节应该依赖于抽象。说白了,就是要针对接口编程,不要对实现编程。可以用电脑的设计来理解,无论主板,CPU,内存,还是硬盘都是针对接口设计的。如果针对实现设计,内存就要对应到具体每个品牌的主板,就会出现换内存就需要把主板换掉的尴尬。 依赖倒转原则:1.高层模块不应该依赖低层模块,两 ...
分类:
其他好文 时间:
2018-06-21 17:43:23
阅读次数:
155
1.使用MyBatis实现条件查询 (1)sql映射文件 mapper:映射文件的根元素节点,只有一个属性namespace,其作用如下: <1>用于区分不同的mapper,全局唯一 <2>绑定DAO接口,即面向接口编程。当namespace绑定某一接口之后,可以不用写该接口的实现类,MyBatis ...
分类:
数据库 时间:
2018-06-19 16:28:53
阅读次数:
238
动态代理的目的就是,用代理类 来帮助被代理类处理一些逻辑 1.首先我们写一个被代理类(因为代理都是面向接口编程 先来写一个接口) 2.在写一个实现类(实际被代理的对象) 3. LogInterceptor 通过实现接口 InvocationHandler 来代理实例 每个代理实例都具有一个关联的调用 ...
分类:
其他好文 时间:
2018-06-17 18:54:50
阅读次数:
226