一、UML图
二、概念
访问者模式(Visitor):表示一个作用于某对象结构中的各元素的操作。它是你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。
三、说明
(1)访问者模式适用于数据结构相对稳定的系统?
是的。它把数据结构和作用于数据结构上的操作之间的耦合解脱开,使得操作集合可以相对自由地演化。
(2)访问者模式的目的?
访问者模式的目的是要把...
分类:
编程语言 时间:
2014-12-31 18:34:36
阅读次数:
198
开始研究响应式web设计,CSS3 Media Queries是入门。Media Queries,其作用就是允许添加表达式用以确定媒体的环境情况,以此来应用不同的样式表。换句话说,其允许我们在不改变内容的情况下,改变页面的布局以精确适应不同的设备。那么,Media Queries是如何工作的?两种方...
分类:
Web程序 时间:
2014-12-31 15:49:13
阅读次数:
261
模板方法模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
何时应用:
1、需要一次性实现算法的不变部分,并将可变的行为留给子类实现
2、子类的共同行为应该被提取出来放到公共类中,避免代码重复
3、需要控制子类的扩展
典型应用:
1、C++ STL
2、系统底层框架:
2.1、Andro...
分类:
其他好文 时间:
2014-12-30 23:38:43
阅读次数:
220
一、log4jdbc的简单介绍 使用log4jdbc在不改变原有代码的情况下,就可以收集执行的SQL文和JDBC执行情况。 平时开发使用的ibatis,hibernate,spring jdbc的sql日志信息,有一点个缺点是占位符与参数是分开打印的,如果想要拷贝sql至PLSQL Develo.....
分类:
数据库 时间:
2014-12-29 21:16:58
阅读次数:
174
现象:1.当case比较复杂的时候(含有for循环对mem进行读/写) 发现for循环时总是有汇编指令不执行跳过去了,(其实是汇编不熟和指令太多无法理智分析指令了)。 事实是指令是对的,但执行错了(所以debug时一定要保证不改变问题本质的情况下尽量简化case,编译出最简单的指令序列,方便分析指令...
分类:
其他好文 时间:
2014-12-26 20:05:04
阅读次数:
120
1.何为重构? 重构是对软件内部结构的一种调整,它不是改变代码的功能,而是在不改变软件可观察行为的前提下,提高其可理解性,降低修改成本。 用比较通俗的话来说就是把代码从一个地方移动到另外一个地方,保持其简短、易读。2.为何重构? 如果没有重构,程序会逐渐腐败甚至变质。 当我们只为了短期的...
分类:
其他好文 时间:
2014-12-24 13:12:37
阅读次数:
385
Category 分类
可以直接给别的类添加方法而不改变原来的类
只能增加方法 不能增加成员变量(可以访问以前类中的)
建立方法是 xcode新建类->Category
h文件
@surface class (ca)
@endm文件
@implementation class (ca)
{
}
@end
id 万能指针
(oc对象)
比如
class *c = [class ...
分类:
其他好文 时间:
2014-12-23 19:40:16
阅读次数:
136
一个mo子里刻出来的?NO,NO,NO应该是一个mu子里立刻出来的。今天看了模板方法模式,一起学习了。
一、什么是模板方法模式?
定义:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
请大家细细品味定义,模板方法模式,父类只考虑骨架,子类只考虑血肉。有一些不必父类做的事情要放到子类中去。
二、模板方法模式有哪些应用?
...
分类:
其他好文 时间:
2014-12-23 10:36:25
阅读次数:
153
一、分类指在不改变原类文件的基础上给类添加新方法。方便团队协作。二、分类使用简单的方式,实现了类的相关方法的模块化,把不同的类方法分配到不同的分类文件中。三、分类使用的场景: 1、 在定义类时的某些情况下(例如需求变更),你可能想要为其中的某个或几个类中添加新的方法。 2、一个类中包含了许多...
分类:
其他好文 时间:
2014-12-22 21:11:04
阅读次数:
179
Python即是面向过程语言,也是面向对象语言,更多情况下充当脚本语言的角色。虽是脚本语言,但同样涉及到代码优化的问题,代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使程序运行效率更高,根据80/20原则,实现程序的重构、优化、扩展以及文档相关的事情通常需要消耗80%的工作量。
优化通常包含两方面的内容:
1. 减小代码的体积、提高代码的可读性及可维护性。
2. 改进算法,降低代码复杂度,提高代码运行效率。
选择合适的数据结构一个良好的算法能够对性能起到关键作用,因此性能改进的首要点是对算法的...
分类:
编程语言 时间:
2014-12-21 14:01:12
阅读次数:
274