iOS开发系列--让你的应用“动”起来--iOS核心动画概览通过核心动画创建基础动画、关键帧动画、动画组、转场动画,如何通过UIView的装饰方法对这些动画操作进行简化等。在今天的文章里您可以看到动画操作在iOS中是如何简单和高效,很多原来想做但是苦于没有思路的动画在iOS中将变得越发简单:CALa...
分类:
移动开发 时间:
2014-12-30 22:03:14
阅读次数:
304
装饰器前面提过了,采用python的闭包特性实现: from time import time
from time import sleep def count_time(): def tmp(func): def wrapped(*args, **kargs): begin_time = time...
分类:
其他好文 时间:
2014-12-30 22:01:11
阅读次数:
151
我们知道,设计模式分别是六个原则和三大模式,分别可以分为创建型模式、结构型模式、行为型模式,其中结构型模式包括:适配器模式、装饰模式、桥接模式、组合模式、享元模式、代理模式、外观模式。在这里,我们就说一下结构型模式。
适配器模式(Adapter):
定义:将一个类的接口转换成客户喜欢的另外一个接口,Adapter模式使得原本由于接口不兼容而不能一起工作的那些类一起工作。...
分类:
其他好文 时间:
2014-12-29 21:30:50
阅读次数:
223
装饰模式:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。 如果只有一个ConcreteComponent类而没有抽象的Component类,那么Decorator类可以是ConcreteComponent的一个子类。同样道理,如果只有一个ConcreteD...
分类:
其他好文 时间:
2014-12-29 10:24:53
阅读次数:
121
不少web项目,都用到了SiteMesh。SiteMesh可以和JSP、Freemarker等模版进行整合,有一定的好处,当然也有其不好的地方。我个人觉得,如果没有必要,不要在项目中引入太多的工具和技术,工具多了,项目开发的速度提高不起来。 以前,主要是用JSP作为视图层,最近主要是用Freemarker,然后配置Freemarker和SiteMesh整合。项目中,最初的做法如下所示。 $...
分类:
Web程序 时间:
2014-12-28 14:17:29
阅读次数:
253
我们先看一个闭包的例子: from time import ctime def before_call(f): def wrapped(*args, **kargs): print 'before calling, now is %s' % ctime() return f(*args, **kar...
分类:
编程语言 时间:
2014-12-27 22:59:52
阅读次数:
271
扩展入口Filter实现: package?lab.s2jh.core.web.sitemesh;
import?org.sitemesh.DecoratorSelector;
import?org.sitemesh.builder.SiteMeshFilterBuilder;
import?org.sitemesh.config.ConfigurableSiteM...
分类:
其他好文 时间:
2014-12-26 20:25:52
阅读次数:
161
动态地给一个对象增加一些额外的职责。就增加功能而言,Decorator模式比生成子类更为灵活。 ——《设计模式》GoF作用:在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。比如,我们现在想设...
分类:
其他好文 时间:
2014-12-26 16:12:23
阅读次数:
171
基本概念具体概念请先看之前的文章 理解装饰器装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理, Web权限校验, Cache等。很有名的例子,就是咖啡,加糖的咖啡,加牛奶的咖啡。本质上,还是咖啡,只是在原有的东西上,做了“装饰”,使之附加一些功能或特...
分类:
编程语言 时间:
2014-12-26 10:53:57
阅读次数:
210
代理模式说明说明:顾名思义就是用一个类来代替另一个类来执行方法功能,这个模式跟装饰模式有点相似,不一样的是,代理模式是代替客户初始化被代理对象类,而装饰模式采用接口或初装饰者参数引用的方式来执行的。在动态面向对象语言里,代理模式即起到控制修饰被代理类的作用,也对被代理类起到了充分的隐藏保护作用;被代...
分类:
编程语言 时间:
2014-12-25 23:25:25
阅读次数:
306