设计模式要求我们不应该针对实现编程,为了降低耦合度,提高可维护性。当程序中出现“new”的时候,就证明程序在实例化一个具体类,所以用的是实现,而不是接口。如果代码绑着具体的类会导致代码更加脆弱,缺乏弹性。
紧接着我们设计模式一种的“模拟鸭子”这个事件:
Duck duck = new MallardDuck();
可以看到,我们需要使用Duck接口让代码具有弹性,但是还是需要建立具体类的...
分类:
其他好文 时间:
2015-05-31 23:20:28
阅读次数:
181
SpringMVC1.MVCMVC思想是将系统的各个组件进行分类,不同的组件扮演不的角色。然后将系统中的各个组件分离到不同的层中,这些组件被严格限制在其所在层内。同层中组件应该保持内聚性,且大致处于同一抽象级别,而各层之间则以松耦合的方式组合在一起,从而保证了良好的封装性。..
分类:
编程语言 时间:
2015-05-31 18:42:02
阅读次数:
259
简介Module模式是JavaScript编程中一个非常通用的模式,一般情况下,大家都知道基本用法,本文尝试着给大家更多该模式的高级使用方式。首先我们来看看Module模式的基本特征:模块化,可重用封装了变量和function,和全局的namaspace不接触,松耦合只暴露可用public的方法,其...
分类:
编程语言 时间:
2015-05-31 18:05:37
阅读次数:
106
编程语言中的反射(Refection)指的是可以在程序运行期动态加载一个类。与之相关的是自省(Introspection),这个指的是程序自己可以获取一个类型的描述信息,例如获取一个类的所有接口定义、一个接口的所有形参。当编程语言有了这些语言特性之后,可以在很大程度上解决代码耦合问题,所以在Java的世界里,可以看到很多库/框架使用了反射技术。
类似Spring的Bean容器实现就是大量运用了反...
分类:
编程语言 时间:
2015-05-31 16:54:44
阅读次数:
150
把bootstarp学习了一遍,总体的感觉不是太好,虽然,开发效率得到了提高,样式也得到了改观,但是代码的耦合度较大,而且不利于后台的管理,从某种意义上简化了代码,但是,可以发现这种简化有些得不尝失,因为仅仅对于开发者而言,几乎失去了对于代码的掌控能力,这样是非常可怕的,这种简化代码的方法不是一个科学的方式,对此,我个人绝得还是应该多多去研究一些底层的东西是很有益处的,如纯粹的JavaScript,...
分类:
Web程序 时间:
2015-05-31 12:32:12
阅读次数:
145
简介EventBus是一个很棒的事件订阅与发布的框架,项目地址:https://github.com/greenrobot/EventBus。作用Android各个组件间的以接口的方式进行的通信问题:
1 增加了组件间的耦合,某个组件的修改可能会引起另一个组件的修改,因此灵活度不高。
2 充斥着大量样板话的代码:
定义接口和回调
管理监听器
在各个...
分类:
移动开发 时间:
2015-05-30 22:42:24
阅读次数:
251
外观模式提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。 简单的说,外观模式就是把复杂的系统的具体操作封装起来,只暴露一个简单的接口,做和众多子系统之间松耦合。 提到一个设计原则:最少知识原则,只和你的密友谈话。(HeadFirst中的描述)具体的说就....
分类:
其他好文 时间:
2015-05-30 22:25:57
阅读次数:
164
面向对象三大特性:封装、继承和多态。一、封装 封装: 每个对象都包含它能进行操作所需要的所有信息,这个特性称为封装,因此对象不必依赖其他对象来完成自己的操作。 封装的好处: 1、良好的封装能够减少耦合。 2、类内部的实现可以自由地更改。 3、类具有清晰的对外接口。二、继承...
分类:
其他好文 时间:
2015-05-30 18:01:33
阅读次数:
123
很久没写文章了。最近看了些设计模式的书和文章,因此做一些笔记记录一下。面向对象:通过封装、继承、多态把程序的耦合度降低,用设计模式使程序更加的灵活,容易修改,并且易于复用。缩短开发周期,重用性和继承性高,降低了重复的工作量,但缺点是,程序的处理效率相对会降低。面向对象三大特点:封装,继承,多态;其三...
分类:
其他好文 时间:
2015-05-30 16:27:46
阅读次数:
131
反射是什么
Reflection(反射)就是Java程序在运行时可以动态得到程序内部所有类的内部信息,并能动态调用任意对象的内部属性和方法。
为什么需要反射
我们为什么要用反射,这主要是反射的动态性决定的,由于反射可以实现动态创建对象,这就很大程度发挥了java的灵活性,降低了程序调用的耦合性,使系统可以更加的灵活,可以更好的应对变化。
反射应用
运行...
分类:
编程语言 时间:
2015-05-29 23:10:16
阅读次数:
219