Edward_jie

for you, my Hall of Frame

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2012年5月27日

摘要: 绝大多数公司都有自己的一个客户管理系统,CRM是公司内部经营的产业链。有时因为部门的不同,赋予每个部门同一个功能的命名也许不同,比如市场部在注册人数上称之为有效人数,而客服部管理中就是想称之为今日注册,当我们考虑代码复用,让class有机工作在一起的时候,就需要考虑Adapter pattern了。概述:在软件开发过程中,我们要经常要复用我们以前开发的一些“现存对象”,但是这些“现存对象”并不能满足我们新的应用环境。怎样才能良好的复用这些对象,以满足我们的应用环境,这就是适配器(Adapter)所要解决的问题。意图: 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由.. 阅读全文
posted @ 2012-05-27 14:23 Edward_诺 阅读(1638) 评论(3) 推荐(3) 编辑

2012年5月25日

摘要: 好吧,这次的设计模式,我从最爱的足球谈起。嗯,球员不是演员,想要行贿球员好比门将放球进去,这样演起来真的挺难,但作为裁判,对于一些争议性的问题,往往可以通过一些手段让他“看清”到底是哪方球员犯规在先,于是,球队老板们就决定跟裁判套套近乎了,可这必经是违法的事情,怎么办呢,一级官压死人,于是他们想到了足协,于是,球队老板-足协领导-裁判,就成了这proxy pattern的产业链,客户端-代理-服务端。来看一下代码吧:using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplicati 阅读全文
posted @ 2012-05-25 17:04 Edward_诺 阅读(1238) 评论(0) 推荐(1) 编辑

摘要: 想必大家对index,explain和profile的利用也很多,这是我最近两天优化mysql语句查询资料整理的一些内容,希望大家可以一起来补充一下。index的使用:1.最好是在相同类型的字段间进行比较的操作。在MySQL 3.23版之前,这甚至是一个必须的条件。例如不能将一个建有索引的INT字段和BIGINT字段进行比较;但是作为特殊的情况,在CHAR类型的字段和VARCHAR类型字段的字段大小相同的时候,可以将它们进行比较。2.在建有索引的字段上尽量不要使用函数进行操作,尽量不要在数据库中做运算。3.避免负向查询和%前缀模糊查询,like 'xxx%'百分号后缀查询可以在 阅读全文
posted @ 2012-05-25 00:19 Edward_诺 阅读(5465) 评论(1) 推荐(7) 编辑

2012年5月23日

摘要: 单例模式是一种比较常见的设计模式,比如symbian中的App,可以作为一个共享存储变量的类供所有view使用,避免使用全局变量,其主要作用有:第一、控制资源的使用,通过线程同步来控制资源的并发访问,以防同一时间modify资源而造成数据不统一等内容;第二、控制实例产生的数量,达到节约资源的目的。第三、作为通信媒介使用,也就是数据共享,它可以在不建立直接关联的条件下,让多个不相关的两个线程或者进程之间实现通信。数据库连接池的设计一般采用单例模式,数据库连接是一种数据库资源。通过遍历数据库连接池来获得数据库连接对象,如果有那么就可以省去连接数据库的操作而浪费掉的时间。软件系统中使用数据库连接池, 阅读全文
posted @ 2012-05-23 23:02 Edward_诺 阅读(1632) 评论(8) 推荐(1) 编辑

摘要: 待写 阅读全文
posted @ 2012-05-23 00:45 Edward_诺 阅读(189) 评论(0) 推荐(0) 编辑

2012年5月22日

摘要: 1.开闭原则,开,对拓展为开,闭,对修改为闭。2.解耦,与具体实例解耦,只是使用统一的抽象接口。3.工厂模式试用于不同数据库的连接方式上,利用反射机制实现多中数据库的访问。 阅读全文
posted @ 2012-05-22 13:55 Edward_诺 阅读(464) 评论(0) 推荐(0) 编辑

2012年5月21日

摘要: 工厂模式,设计模式中普遍分成了三种,简单工厂、工厂方法和抽象工厂模式。看到一个名字,我首先会去思考它为什么被人们起为这样的名字,对于设计模式,想要明白到底是怎么回事,当然也要从名字开始。简单工厂,是针对同样具有某种属性和动作的对象进行抽象和封装的开始,简单工厂当然就是量少的工厂,我们完全可以项目的生存期中能够考虑到的为数不多的工厂整合到一个工厂类中,每一个工厂中,我们建造出特定的产品,这些产品都有共同的属性和动作,我们事先将他们写进一个抽象产品类中,以便客户端随时进行实例化其需要的产品,并且在日后的维护升级过程中,可以直接改动相应的产品类,而不影响到其他产品。工厂方法,是简单工厂不再简单的时候 阅读全文
posted @ 2012-05-21 15:41 Edward_诺 阅读(1922) 评论(1) 推荐(2) 编辑

2012年5月16日

摘要: Composite组合模式主要是应对这样的问题:一类具有“容器特征”的对象——即他们在充当对象的同时,又是其他对象的容器的情况。在编写时我们常常会造成:客户代码过多地依赖于对象容器复杂的内部实现,对象容器内部实现结构(而非抽象接口)的变化将引起客户代码的频繁变化,带来了代码的维护性、扩展性的弊端。 GoF《设计模式》中说到:将对象组合成树形结构以表示“部分-整体”的层次结构。Composite模式使得客户对单个对象和组合对象的使用具有一致性。 Composite组合模式结构如下: 说道这,我觉得有一个编程中常见的场景,就是对于树的实现,很符合这个模式。下面我就用这个例子作一下。 首先,我们先分 阅读全文
posted @ 2012-05-16 16:32 Edward_诺 阅读(3043) 评论(0) 推荐(1) 编辑

摘要: 结构模式(Structural Pattern)描述如何将类或者对象结合在一起形成更大的结构。结构模式描述两种不同的东西:类与类的实例。根据这一点,结构模式可以分为类的结构模式和对象的结构模式。 后续内容将包括以下结构模式: 适配器模式(Adapter):Match interfaces of di 阅读全文
posted @ 2012-05-16 11:03 Edward_诺 阅读(3860) 评论(1) 推荐(1) 编辑

2012年5月15日

摘要: 一、 命令(Command)模式 命令(Command)模式属于对象的行为模式【GOF95】。命令模式又称为行动(Action)模式或交易(Transaction)模式。命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。命令模式是对命令的封装。命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象。每一个命令都是一个操作:请求的一方发出请求要求执行一个操作;接收的一方收到请求,并执行操作。命令模式允许请求的一方和接收的一方独立开来,使得请求的一方不必知道接收请求的一方的接口,更不必知道请 阅读全文
posted @ 2012-05-15 23:45 Edward_诺 阅读(4922) 评论(0) 推荐(0) 编辑