一、开闭原则 是什么:对扩展开放,对修改封闭。可以理解为,可以根据需求随意增加新的类,但不要对原有的类进行修改。 用处:1.可扩展度高,灵活。可以通过新增模块满足不断变化的需求。2.可维护性强,无需修改代码。可以保证变化的系统有一定的稳定性和延续性 实现:开闭原则的核心思想在于抽象,对于不变的部分, ...
分类:
其他好文 时间:
2017-05-21 14:46:02
阅读次数:
224
专题一 IOC 1.接口以及面向接口编程 a.结构设计中,分清层次以及调用关系,每层仅仅向外(或者上层)提供一组功能接口,各层间仅依赖接口而非实现类这样做的优点是,接口实现的变动不影响各层间的调用。这一点在公共服务中尤为重要。 b.“面向接口编程”中的“接口”。是用于隐藏详细实现。和实现多态性的组件 ...
分类:
编程语言 时间:
2017-05-17 16:11:16
阅读次数:
196
找出应用中可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在一起。 针对接口编程,而不是针对实现编程。 多用组合,少用继承。 为了交互对象之间的松耦合设计而努力。 类应该对扩展开放,对修改关闭。 要依赖抽象,不要依赖具体类。 最少知识原则:只和你的密友谈话。 别调用(打电话给)我们,我 ...
分类:
其他好文 时间:
2017-05-17 00:42:29
阅读次数:
152
首先我们先模仿集合中ArrayList和LinkedList的实现。一个是基于数组的实现、一个是基于链表的实现,实现方式各有不同, 为了减少代码的耦合度,面向接口编程。定义Collection接口定义API规范。 可是在遍历集合中的元素时,由于数组和链表的遍历方式不一样,能不能统一处理呢? 再定义一 ...
分类:
其他好文 时间:
2017-05-16 23:05:15
阅读次数:
247
什么是Socket? Socket能够看成是用户进程与内核网络协议栈的接口(编程接口, 例如以下图所看到的), 其不仅能够用于本机进程间通信。能够用于网络上不同主机的进程间通信, 甚至还能够用于异构系统之间的通信。 IPv4套接口地址结构 IPv4套接口地址结构通常也称为“网际套接字地址结构”。它以 ...
分类:
其他好文 时间:
2017-04-30 19:56:05
阅读次数:
240
策略模式定义: 分别封装行为接口,实现算法集合,超类存放行为接口对象,子类设置行为对象实现对象。 原则: 分离变化部分,封装为接口,基于接口编程,将行为算法独立出行为使用者 UML图表示: 设计说明: 假设设计一个旅行的超类,其中每个人的旅行的交通工具是变化的,那么每个人的交通工具都不同可以分为几类 ...
分类:
其他好文 时间:
2017-04-26 19:27:15
阅读次数:
107
由于公司研发用到spring boot,故开始学习spring boot。本系列主要参考spring boot实战,来完成。 1.1 spring 环境搭建,使用maven配置如下: 1.2 spring 四大原则: 一:使用POJO进行轻量级和最小侵入式开发 二:通过依赖注入和基于接口编程实现松耦 ...
分类:
编程语言 时间:
2017-04-21 00:09:22
阅读次数:
176
什么是面向对象,什么是面向过程,已经是一个老生常谈的问题,我在这里不想大篇幅说一大推什么东西,结果其实懂还是没懂,都很难说。我从自己编程的经验来看。面向对象的精髓有3个:面向接口编程(接口这里指的是抽象)解耦,还有一个忘了面向对象的特征有四个:封装,继承,抽..
分类:
其他好文 时间:
2017-04-13 09:25:45
阅读次数:
127
面向接口编程: 接口类型 变量 =new 实现类(); List list=new ArrayList(); List实现类的特点与性能分析 三者共同的特点和遵循的规范: 1):允许元素重复; 2):记录元素的先后添加顺序 vector类: 底层才有数组结构算法,方法都是使用Synchronized ...
分类:
编程语言 时间:
2017-04-11 14:07:50
阅读次数:
279
在日常开发工作中,适当的使用一些设计模式,可以让代码扩展性更强,能更好地拥抱变化,让代码更加优雅。本文主要介绍设计模式中的策略模式,并附上测试示例 Demo 供大家参考。 ...
分类:
其他好文 时间:
2017-04-07 09:34:09
阅读次数:
280