摘要: 定义:代理模式就是给一个对象提供一个代理,并由代理对象控制对原对象的引用。抽象场景:某公司想要收集一些员工信息,存放到数据库里面。但是呢,老板比较懒,就叫小秘去录了。老板只需要睡一觉起来 ,事情就做好了。其实 数据库和应用程序之间也是代理。数据库想要一些数据。并且要过滤掉一些数据。但又不能老让人写SQL录入,而且人工验证,所以就开发一个应用程序。让应用程序去代理做这些麻烦事。。。然后就省事多了程序情景:暂时没想到 阅读全文
posted @ 2013-09-14 15:52 Xdoudou 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 定义:将一个类的接口转换成客户希望的另外一个接口,使得原本接口不兼容而不能一起工作的那些类可以一起工作抽象场景:你去香港玩,然后发现香港的笔记本好便宜。然后买了一台回到大陆。准备充电的时候,发现适配器的插口是三插的,然后大陆的是两人插的排插。然后你去找大陆的售后。大陆的售后给你一个叫转换插头的东西。把你的三插的电源转换成两插的 ,然后你就能正常大陆使用了。那个转换插头,就是代理。你的排插本来不适用于你的电源。但是你的电源又想用那个排插。所以代理就出来了。也就是那个转换插头。能让你能正常使用那个排插程序场景:你需要实现一个音乐播放器,客户要求使用BASS.DLL的内核来播放,这个内核是C++写的 阅读全文
posted @ 2013-09-14 15:13 Xdoudou 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 一、概念策略模式(Strategy):它定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法的变化不会影响到使用算法的客户。(原文:The Strategy Pattern defines a family of algorithms,encapsulates each one,and makes them interchangeable. Strategy lets the algorithm vary independently from clients that use it.)图1 策略模式类图 优点: 1、 简化了单元测试,因为每个算法都有自己的类,. 阅读全文
posted @ 2013-09-14 14:51 Xdoudou 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 1、select count(*) from table_name比select count(主键列) from table_name和select count(1) from table_name 要快一些但是对于千万级来说这还是很慢2、非聚集索引比聚集索引要快假如表里只有一个聚集索引,你在建立一个非聚集索引,然后查询时指定使用该非聚集索引,速度将会得到提高如果聚集索引需要1800毫秒的话 用非聚集索引会降到1300毫秒select count(*) from tj_ClientActionIP with (index(IX_tj_ClientActionIP_2)) where datea 阅读全文
posted @ 2013-09-14 11:01 Xdoudou 阅读(971) 评论(0) 推荐(1) 编辑