找到相关内容 242
步步为营 .NET 设计模式学习笔记 十四、Decorator(装饰模式)
概述 在软件系统中,有时候我们会使用继承来扩展对象的功能,但是由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多子类的膨胀。如何使“对象功能的扩展”能够根据需要来动态地实现?同时避免“扩展功能的增多”带来的子类膨胀问题?从而使得任何“功能扩展变化”所导致的影响将为最低?这就是本文要讲的Decorator模式。
http://cyqdata.com/cnblogs/article-detail-36600 
Mysql源码学习笔记——偷窥线程
安装完Mysql后,使用VS打开源码开开眼,我嘞个去,这代码和想象中怎么差别这么大呢?感觉代码有些凌乱,注释代码都写的比较随意,好像没有什么统一的规范,不同的文件中代码风格也有差异,可能Mysql经过了很多牛人的手之后,集众牛人之长吧。也可能是我见识比较浅薄,适应了自己的代码风格,井底之蛙了,总之还是怀着敬畏的心情开始咱的源码之旅吧。本人菜鸟,大神轻拍。   Mysql可以启动起来了,应该怎么学
http://cyqdata.com/cnblogs/article-detail-36551 
笔记 - 用户体验的五层–概念篇
在找实习的过程中,算是有缘吧,交互设计走进了我的视野,不过课堂上学习的这方面只是太少了,于是到图书馆恶补了一下。 下面是The Elements of User Experience一书中的主要理论,做为菜鸟的我也不知道这个理论的正确性和可操作性如何,但看起来还是很有条理的。 本树将UE分为五个层面和两个角度,图示如下: 注:图中的用词可能和我们经常使用的概念不一致。 以下一一来做简略的阐述。
http://cyqdata.com/cnblogs/article-detail-36535 
BI笔记之--- Cube增量处理的一个场景的处理方案
增量处理概述: 通常来说Cube会随着时间的积累而日渐增长,这样一来如果每次都是全量处理的话会导致处理时间逐渐变长。所以对于大规模的 Cube,为了追求处理时间和性能,都会采取增量处理的方案。   场景: 根据数据仓库的数据结构以及业务含义的不通,数据的组织会有差异,这里讨论的是增量处理的其中一个场景,其中: 事实表是以日期键为主键(数据的生成日期),根据日期有建立为月的分区。 并且事实
http://cyqdata.com/cnblogs/article-detail-36521 
步步为营 .NET 设计模式学习笔记 十三、Bridge (桥接模式)
概述 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要使用Bridge模式。 桥梁模式是一个非常有用的模式,也是比较复杂的一个模式。熟悉这个模式对于理解面向对象的设计原则,包括"开-闭"原则(OCP)以及组合/聚合复用原则(CA
http://cyqdata.com/cnblogs/article-detail-36515 
步步为营 .NET 设计模式学习笔记 十二、Observer (观察者模式)
概述 在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系” ——一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知。如果这样的依赖关系过于紧密,将使软件不能很好地抵御变化。使用面向对象技术,可以将这种依赖关系弱化,并形成一种稳定的依赖关系。从而实现软件体系结构的松耦合。 一个软件系统常常要求在某一个对象的状态发生变化的时候,某些其它的对象做出相应的改变。做到这
http://cyqdata.com/cnblogs/article-detail-36469 
步步为营 .NET 设计模式学习笔记 十一、Iterator(迭代器模式)
概述 在面向对象的软件设计中,我们经常会遇到一类集合对象,这类集合对象的内部结构可能有着各种各样的实现,但是归结起来,无非有两点是需要我们去关心的:一是集合内部的数据存储结构,二是遍历集合内部的数据。面向对象设计原则中有一条是类的单一职责原则,所以我们要尽可能的去分解这些职责,用不同的类去承担不同的职责。Iterator模式就是分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以做到不
http://cyqdata.com/cnblogs/article-detail-36430 
BI笔记之---SSAS中关于某一度量需要先后根据不通维度的不同聚合方法的解决
SSAS中的聚合方式设定: SSAS一个Cube中的一个度量的聚合方式设置方法: 也就是说,Cube中的聚合方式是针对度量来指定的。   问题: 针对一种特殊的需求,要求先按照时间做平均聚合运算,再根据空间做求和运算。 其实这种说法字面上看起来本身就很矛盾,所以得套到一个具体的场景中。 比如:我有一个数据仓库统计某几个小区的某一时间粒度(这里定义成季度)的住户数量,里面的数据格式大致如
http://cyqdata.com/cnblogs/article-detail-36427 
步步为营 .NET 设计模式学习笔记 十、Builder(建造者模式)
  概述  在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法确相对稳定。如何应对这种变化?如何提供一种“封装机制”来隔离出“复杂对象的各个部分”的变化,从而保持系统中的&ld
http://cyqdata.com/cnblogs/article-detail-36425 
2011数据库技术大会印象与笔记
数据库技术大会(http://dtcc.it168.com/)是IT168等媒体主办的一个数据库方面的技术人员的会议。今年是第二届。去年第一届,时间与清明节假期冲突,我没参加。今年时间上有了改进,没有与小长假冲突,时间是4月15,16两天,分别是周五周六。 会议地点是永泰福朋喜来登酒店,具体位置在西四环内侧四海桥与四季青桥之间,交通还算方便,附近不算太拥堵。第一天租了三个会议室。第二天改成了两个。
http://cyqdata.com/cnblogs/article-detail-36390 
步步为营 .NET 设计模式学习笔记 九、Command(命令模式)
概述 在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行为请求者”与“行为实现者”解耦?将一组行为抽象为对象,可以实现二者之间的松耦合。这就是本文要说的Command模式。 意图 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求
http://cyqdata.com/cnblogs/article-detail-36321 
javascript学习笔记(十一)对表格进行排序(包括数值、字符串、日期等数据类型)
在javascript学习笔记(十)中,我们对表格进行了一些美化,主要是实现隔行换色及鼠标经过时高亮两个功能!这样看起来,感觉已经不错了,用户体验要比之前好多了。 在今天的学习笔记中,我们对表格再改进一些,让用户体验再好一些。我们先看下图: 图1 会员信息表 比如我们现在有图1这样一个表格,在会员组这一列中,需要把相同会员组的排在一起,这样就需要对这个表格进行一些排序的操作。下面我们就来一步一步
http://cyqdata.com/cnblogs/article-detail-36297 
步步为营 .NET 设计模式学习笔记 八、State(状态模式)
概述定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它所属的类。 意图 状态模式主要解决的是当控制一个对象状态装换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简单化。 当一个对象行为取决于它的状态,并且它必须在运行时刻根据状态
http://cyqdata.com/cnblogs/article-detail-36249 
javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
在javascript学习笔记(八)中,我们主要学习了在使用javascript面向对象编程时,如何创建对象及添加对象的属性和方法。在使用面向对象编程时,对象间的继承关系自然少不了!而原型正是实现javascript继承的很重要的一种方法! 我们首先来看以下代码: function person(name, age) { this.name = name; this.age = age
http://cyqdata.com/cnblogs/article-detail-36223 
cookie 笔记
 希望通过这篇文章能让你了解Cookie。 cookie介绍 cookie是document的属性。某些网站为了辨别用户身份而储存在用户本地终端的数据(用户硬盘上的一个字符串) 。定义 于 RFC2019.    cookie的由来  cookie 最初的设计是为服务器端程序设计,所以服务器端的脚本可以读写客户端的cookie值。写入co
http://cyqdata.com/cnblogs/article-detail-36198 
javascript面向对象学习笔记(一)——继承
最近在学习html5,玩了下canvas,发现js中很多的东西都不太记得了。翻了下笔记后发现还是去图书馆逛逛把,到借阅区找了我一直想看的《javascript design patterns》好好研读了个下午,读罢,顿时有种醍醐顿开的感觉(夸张了..),发现之前对javascript OO方面的认识真的很浅,读了前几章关于OO的介绍后感觉思路清晰很多了,对于js一些基本概念的认识也加深了很多。同时
http://cyqdata.com/cnblogs/article-detail-36192 
步步为营 .NET 设计模式学习笔记 七、Proxy(代理模式)
概述 在软件系统中,有些对象有时候由于跨越网络或者其他的障碍,而不能够或者不想直接访问另一个对象,如果直接访问会给系统带来不必要的复杂性,这时候可以在客户程序和目标对象之间增加一层中间层,让代理对象来代替目标对象打点一切。这就是本文要说的Proxy模式。   意图 代理(Proxy)模式给某一个对象提供一个代理,并由代理对象控制对原对象的引用。 代理模式的英文叫做Proxy或
http://cyqdata.com/cnblogs/article-detail-36191 
javascript 学习笔记(八)javascript对象
昨天看了些有关javascript对象方面的文章,以下是自己的一些学习心得及体会,希望同大家共同讨论! 1、javascript中的内置对象 javascript中除了本身的内置对象,如以下我们所熟悉的对象: Array Date Math String RegExp …… 各个对象都有自己的属性及方法,比如我们经常使用属性及方法 属性:stringObject.l
http://cyqdata.com/cnblogs/article-detail-36141 
指针与引用(面试宝典笔记三)
指针与引用1:指针和引用的差别    (1)非空区别。即指针可以赋空值,但引用不能。    (2)合法性区别。在使用引用之前不需要测试它的合法性,相反,指针则总是被测试,防止其为空。    (3)可修改区别。引用指向的对象在初始化时确定,以后不可改变; 指针可改变指向。    (
http://cyqdata.com/cnblogs/article-detail-36099 
javascript学习笔记(七)利用javascript来创建和存储cookie
今天把javascript如何用来创建及存储cookie复习了一下,其中的一点体会拿出来和大家讨论,恳请高手指点一二。 首先看一下基础知识: 1、什么是cookie cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值 2、有关cookie的例子: 名字 cookie
http://cyqdata.com/cnblogs/article-detail-36097