面向对象设计(OOD)有助于我们开发出高性能、易扩展以及易复用的程序。其中,OOD有一个重要的思想那就是依赖倒置原则(DIP),并由此引申出IoC、DI以及Ioc容器等概念。通过本文我们将一起学习这些概念,并理清他们之间微妙的关系。
分类:
其他好文 时间:
2014-05-26 17:11:40
阅读次数:
386
一、概念CARP:CompositionAggregation
Principle合成聚合复用原则,尽量使用合成/聚合,尽量不使用类继承。合成聚合是“has a”的关系,而继承是“is
a”的关系。由于继承是一中强耦合的结构,父类变,子类必变。所以不是“is a”关系,我们一般不要用继承。优先使用合...
分类:
其他好文 时间:
2014-05-26 01:31:47
阅读次数:
263
最近读了这本书,为了防止狗熊掰棒子式的学习,写这篇总结把收获沉淀下来。先说说看书的一点感受吧。不要说在大公司中多人团队合作了,就连原来在实验室的几个人小规模开发也都很需要编码规范,否则当复用组件的时候就要花费大量的时间调试,甚至不得不更改原来的代码。多人协作所需要制定的代码规范,常常就是大家达成协议...
分类:
编程语言 时间:
2014-05-26 01:04:33
阅读次数:
330
适配器模式,将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
应用场景:系统的数据和行为都正确,但接口不符时,我们应该考虑用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况。
代码实现:
//Adapter.h
#inc...
分类:
其他好文 时间:
2014-05-25 23:14:58
阅读次数:
271
复用为了复用而写代码,代码量是1.6倍What: 一份代码多处使用 style
AsyncTask IntentService ListActivity 工具类 组件why: 1) 性能提升 2) 可维护性 3) 可扩展性复...
分类:
移动开发 时间:
2014-05-25 22:48:17
阅读次数:
236
SOASOA
是通过功能组件化、服务化,来实现系统集成、解决信息孤岛,这是其主要目标。而更进一步则是实现更快响应业务的变化、更快推出新的应用系统。与此同时,SOA
还实现了整合资源,资源复用。SOA 服务的设计标准是粗粒度、高重用、灵活、标准。性能则并非首要考虑因素。SOA 的两大功能是集成、服务编...
分类:
其他好文 时间:
2014-05-25 22:18:35
阅读次数:
432
调度策略
Linux的调度基于分时(time sharing)技术:多个进程以“时间多路复用”方式运行,因为CPU的时间被分成“片(slice)”,给每个可运行进程一片。当然,单处理器在任何给定的时刻只能运行一个进程。如果当前运行的时间片或时限(quantum)到期时,该进程还没有运行完毕,进程切换就可以发生。分时依赖于定时中断,因此对进程是透明。不需要在程序中插入额外的代码来保证CPU分时。...
分类:
其他好文 时间:
2014-05-25 10:08:46
阅读次数:
191
访问者模式定义:表示一个作用于某对象结构中的各个元素的操作,它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。
从定义上看,这个模式跟装饰模式的定义很相似(动态地给一个对象添加一些额外的职责),但是装饰模式更多是在原有的基础上进行功能加强或者修改;而访问者模式更多是为对象添加全新的功能。
这个模式中用到了二次分发技术,跟tcp协议的三次握手有些类似,首先请求拿到对方的控制权,对方进行接受,然后开始使用控制权
访问者模式本质:预留通路,回调实现
优点:扩展性好,复用性好,分离无关行为
缺点:对象结...
分类:
其他好文 时间:
2014-05-24 22:07:00
阅读次数:
227
本文接着上文对前面的示例进行优化,在前面的build.xml中,有些代码是重复的,我们可以将其抽象出来拿来共同使用,比如将一些路劲提取出来放入properties,可以达到共用的同时,还可以增强程序的可维护性,以后路劲变了只需改配置文件,不用改动build.xml。properties维护简单,以键值对形式存放;而xml不单可以提取属性,还可以提取target.
比如在上文中可以将src1,sr...
分类:
其他好文 时间:
2014-05-24 20:59:04
阅读次数:
331
A类:10.0.0.0~10.255.255.255B类:172.16.0.0~172.31.255.255C类:192.168.0.0~192.168.255.255上述三个范围内的地址不会在因特网上被分配,因此可以不必向ISP或注册中心申请而在公司或企业内部自由使用。NAT实现方式:静态转换、动态转换、端口多路复用1、静态转换:第一..
分类:
其他好文 时间:
2014-05-24 16:29:18
阅读次数:
350