一、介绍什么是代理模式。惯例,我们先看一下《研磨设计模式》中的介绍——为其他对象提供一种代理以控制对这个对象的访问。代理模式的本质是——控制对象访问。什么意思呢?就是我们每次访问一个对象的时候,实际上去访问这个对象的代理。这个代理实际上就是这个对象的替身,可以实现原本对象绝大多数的功能。只有当需要某...
分类:
其他好文 时间:
2014-04-28 08:41:14
阅读次数:
450
什么是CSS的盒子模式呢?为什么叫它是盒子?先说说我们在网页设计中常听的属性名:内容(content)、填充(padding)、边框(border)、边界(margin),
CSS盒子模式都具备这些属性。这些属性我们可以把它转移到我们日常生活中的盒子(箱子)上来理解,日常生活中所见的盒子也具有这些属...
分类:
Web程序 时间:
2014-04-28 08:37:21
阅读次数:
609
我们接着第一部分来说,上文提到了两种常规的DOM操作:创建文档片段和遍历元素节点。我们知道那些雨后春笋般的库,有很大一部分工作就是提供了一些优秀
的DOM操作API。可见原生的一些方法和属性,还不能很灵活快捷的来完成我们所希望的操作。下面将总结出总结出几种很实用的扩展方法
分类:
编程语言 时间:
2014-04-28 08:27:35
阅读次数:
703
最近在学习FyiReporting的源码,参考FyiReporting的报表对象定义,结合自己在工作中开发报表的应用场景,自己设计了一套报表对象定义,实现在报表设计器中报表对象的修改,通过序列化成Json对象来达到存储报表对象,相对于FyiReporting报表直接对报表定义的XML操作省去编写大量...
分类:
Web程序 时间:
2014-04-28 08:25:35
阅读次数:
745
1.命名规则1.1变量名、包名、模块名变量名通常有字母、数字和下划线组成,且首字母必须是字母或下划线,并且不能使用python的保留字;包名、模块名通常用小写字母1.2类名、对象名类名首字母用大写,其他字母采用小写;对象名用小写字母。类的属性和方法名以对象作为前缀,对象通过操作符“.”访问属性和方法...
分类:
编程语言 时间:
2014-04-28 08:13:52
阅读次数:
572
在管理一个Openstack集群时,如何维护配置文件无疑是其中最艰难和繁琐的任务之一。因为你不仅要面对众多的核心服务(nova,keystone,glance,cinder,etc)的配置文件,还需要管理其相关服务的配置文件(mysql,rabbitmq,bind9,etc)。并且在Openstac...
分类:
其他好文 时间:
2014-04-28 08:06:00
阅读次数:
832
行内元素、非置换元素不会应用width属性,比如对行内元素应用了width:200px,你不会看到任何效果出现。
行内元素、非置换元素不会应用height属性,但是高度可以通过line-height来指定。
行内元素你可以给它设置padding,但只有padding-left和padding-right会有效果,没有padding-top和padding-bottom。
margin属性也是和padding属性一样,对行内元素左右有效,上下无效。...
分类:
Web程序 时间:
2014-04-27 19:57:13
阅读次数:
1043
开闭原则(OCP)是面向对象设计中“可复用设计”的基石,是面向对象设计中最重要的原则之一,其它很多的设计原则都是实现开闭原则的一种手段。
开闭原则中“开”,是指对于组件功能的扩展是开放的,是允许对其进行功能扩展的;开闭原则中“闭”,是指对于原有代码的修改是封闭的,即不应该修改原有的代码。
遵循开闭原则设计出的模块具有两个主要特征:
(1)对于扩展是开放的(Open for e...
分类:
其他好文 时间:
2014-04-27 19:55:53
阅读次数:
622
迪米特法则(Law of Demeter)又叫作最少知识原则(Least Knowledge Principle 简写LKP),就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。英文简写为: LoD.
迪米特法则可以简单说成:talk only to your immediate friends。 对于面向OOD来说,又被解释为下面几种方式:一个软件实体应当尽可能少的与其他实...
分类:
其他好文 时间:
2014-04-27 18:00:46
阅读次数:
534