重构前的状态:
大量的js代码混在繁多的Jsp文件中,对第三方的js库依赖也很杂乱。虽然在部分交互性较强的页面中,将js代码分离到了独立的js文件中,但是代码结构及依赖管理依然很乱。不说新人来了无所适从,就是我自己看了,也会一头雾水。不是代码有多深奥,是看着实在太累。于是,一次重构工作开始了。重构中...
分类:
Web程序 时间:
2014-05-23 11:05:17
阅读次数:
449
Android 项目开发的时候
出现:
Description
Resource Path
Location Type
Unknown error: java.lang.NullPointerException
出现的原因:
是因为,我在导入外部项目的时候,没有添加依赖包(appcompat-V7;appcompat_v7_3)。
解决方案:
将 这两...
分类:
编程语言 时间:
2014-05-22 13:23:28
阅读次数:
327
关于依赖注入
Dependency Injection( 依赖注入)可以很好的帮助我们分离模块,降低耦合、提高可测试性。(PS:Roboguice 只是一个工具,依赖注入更多的是一种思想)
通常博主开发项目时喜欢以Activity 、Service 等组件作为顶级层入口,辅以各类接口作为业务服务。Activity 主要负责维护界面相关的东西,及提供功能所需要的上下文环境,引入功能实...
分类:
移动开发 时间:
2014-05-22 10:30:30
阅读次数:
535
模式是在某情境下,针对某问题的某种解决方案。设计模式是解决某些经常重复发生的设计问题的一些通用解决方案。
一、模式简介
1、策略模式:定义了算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。
2、观察者模式:定义了对象之间的一对多依赖,当一个对象改变时,它的所有依赖者都会收到通知并自动更新。
3、装饰者模式:动态地将责任附加到对象上。若要扩展功能,装饰者...
分类:
其他好文 时间:
2014-05-22 10:29:51
阅读次数:
260
转换接口。
引入新原则: ” 最少知识“原则 作用为 外观模式
面向对象的适配器:将一个接口转换成另一个接口,以符合客户的期望。
对象适配器 与 类适配器
OO原则:(1)封装变化 (2)多用组合,少用继承 (3)针对接口编程,不针对实现编程 (4)为交互对象之间的松耦合设计而努力 (5)类应该对扩展开放,对修改关闭。(6) 依赖抽象,不要依赖具体类。(7)只和朋友交流。
...
分类:
其他好文 时间:
2014-05-22 09:22:37
阅读次数:
268
Roboguice是一个用于Android应用的依赖注入框架,使用Google官方的Guice库位极大地简化了Android的依赖注入。让你的Android应用开发之路更加平坦顺利,编程更加简单有趣。
什么是依赖注入?
依赖注入是一种软件设计模式,无论是在运行时还是在编译时,允许删除、改变硬编码依赖性。
一些常用和普遍的依赖注入库有:
Roboguice是一个用于Andro...
分类:
移动开发 时间:
2014-05-22 09:11:36
阅读次数:
417
session
服务器用于缓存数据会话技术
默认情况:session依赖于cookie
对象HttpSession
1.session原理:
根据上图分析如下:
a.浏览器发送请求到服务器,并交给一个servlet进行处理。此时request.getSession()第一次创建session对象,将sessionId以cookie的方式发送给浏览器。同时在服务端会保存sessi...
分类:
编程语言 时间:
2014-05-22 08:08:44
阅读次数:
191
hadoop有种简化机制来管理job和control的非线性作业之间的依赖,job对象时mapreduce的表现形式。job对象的实例化可通过传递一个jobconf对象到作业的构造函数中来实现。
x.addDeopendingJob(y)意味着x在y完成之前不会启动。
鉴于job对象存储着配置和依赖信息,jobcontrol对象会负责监管作业的执行,通过addjob(),你可以为jobcont...
分类:
其他好文 时间:
2014-05-22 07:27:41
阅读次数:
287
8.3 使用二进制数据记录布局
Struct模块提供了pack()和unpack()方法来处理可变长度的二进制格式。接下来的例子展示在一个没用zipfile模块的zipfile如何通过标题信息循环。压缩码“H”和“I”分别表示2和4字节无符号数字,“”表明都是标准大小并且按照little-endian字节排序。
8.4 多线程
线程是一种针对分离不连续和依赖的任务的技术。用线程可以提高...
分类:
编程语言 时间:
2014-05-22 07:26:58
阅读次数:
311
软件功能之间的关系大致有三种:1. 彼此独立
这些功能就是打死不相干的,变更其中一个地方,另外的地方也不受影响,包括在输入上独立,输出显示上独立和数据独立;2. 调用和被调用
可能在某些应用程序中,有函数或dll的调用,那么如果被调用的特性被修改了,调用这个的地方都需要做覆盖性测试,当然这种情况肯定...
分类:
其他好文 时间:
2014-05-20 11:50:27
阅读次数:
173