随笔 - 111, 文章 - 0, 评论 - 39, 阅读 - 61万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

04 2011 档案

摘要:1.结构化方法遵循的基本原则 结构化方法的基本思想就是将待解决的问题看作一个系统从而用系统科学的思想方法来分析和解决问题结构化方法遵循以下基本原则 (1)抽象原则 抽象原则是一切系统科学方法都必须遵循的基本原则它注重把握系统的本质内容而忽略与系统当前目标无关的内容它是一种基本的认知过程和思维方式 (2)分解原则 分解原则是结构化方法中最基本的原则它是一种先总体后局部的思想原则在构造信息系统模型时它采用自顶向下分层解决的方法 (3)模块化原则 模块化是结构化方法最基本的分解原则的具体应用它主要出现在结构化设计阶段中其目标是将系统分解成具有特定功能的若干模块从而完成系统指定的各项功能2.面向对象模 阅读全文

posted @ 2011-04-26 09:37 李大嘴 编辑

摘要:中介者模式属于行为型模式,其意图是用一个中介对象封装一系列的对象交互。中介者使用各对象不需要显式的相互调用,从而使其耦合松散,而且可以独立地改变他们之间爱女的交互。 面向对象设计鼓励将行为分布到各个对象中,这种分布可能会导致对象间有许多连接,在最坏的情况下,每一个对象都知道其他所有的对象,这无疑复杂化了对象之间的联系。虽然将一个系统分割成许多对象通常可以增强可复用性,但是对象间相互连接的激增又会降低其可复用性,大量的相互连接使得一个对象似乎不太可能在没有其他对象的支持下工作,系统表现为一个不可分割的整体,而且对系统的行为进行任何较大的改动都会十分困难。结果是你不得不定义大量的子类以定制系统的行 阅读全文

posted @ 2011-04-20 10:14 李大嘴 编辑

摘要:“设计模式”一书包含的23种模式都有若干个著名的应用,这些应用具有一定的通用性,可以方便地应用于不同应用领域,并且包含多种对象。有关作者将这些模式分成三类:1、创建型模式(Creationalpattern):为你创建对象,而不必由你直接实例化对象。针对给定的案例,程序可以在确定需要创建哪些对象是获得更大的灵活性。创建模式分为类的创建模式和对象的创建模式两种。类的创建模式类的创建模式使用继承关系,把类的创建延迟到子类,从而封装了客户端将得到哪些具体类的信息,并且隐藏了这些类的实例是如何创建和放在一起的。对象的创建模式对象的创建模式则把对象的创建过程动态的委派给另一个对象,从而动态地决定客户端将 阅读全文

posted @ 2011-04-19 09:36 李大嘴 编辑

摘要:[1]先去看看这个帖子《深入浅出享元模式》http://blog.csdn.net/ai92/archive/2004/12/21/224598.aspx[2]享元模式-复合享元:package pattern.flyweight.unsharable;import java.util.*;/*** 复合的享元模式:* 复合享元是不能共享的,所以叫Unsharable Flyweight。* 但是复合享元是可以分解为可共享的单纯享元。** @version 2009-6-25* @author Winty(wintys@gmail.com)*/public class UnsharableFl 阅读全文

posted @ 2011-04-18 08:44 李大嘴 编辑

摘要:这几天一直在研究各种各样的设计模式,在学习适配器模式、桥接模式和外观模式模式的时候,发现他们之间存在着一定的关系,实际上模式不适单一存在的,在我们的现实编程生活中往往是几种模式结合使用的。 1.适配器模式与桥接模式的区别和联系 适配器模式和桥接模式都是间接引用对象,因此可以使系统更灵活,在实现上都涉及从自身以外的一个接口向被引用的对象发出请求。 两种模式的区别在于使用场合不同,适配器模式主要解决两个已有接口间的匹配问题,这种情况下被适配的接口的实现往往是一个黑匣子。我们不想,也不能修改这个接口及其实现。同时也不可能控制其演化,只要相关的对象能与系统定义的接口协同工作即可。适配器模式经常用在与第 阅读全文

posted @ 2011-04-17 16:04 李大嘴 编辑

摘要:认识桥接模式(1)什么是桥接 在桥接模式里面,不太好理解的就是桥接的概念,什么是桥接?为何需要桥接?如何桥接?把这些问题搞清楚了,也就基本明白桥接的含义了。 一个一个来,先看什么是桥接?所谓桥接,通俗点说就是在不同的东西之间搭一个桥,让他们能够连接起来,可以相互通讯和使用。那么在桥接模式中到底是给什么东西来搭桥呢?就是为被分离了的抽象部分和实现部分来搭桥,比如前面示例中抽象的消息和具体消息发送之间搭个桥。 但是这里要注意一个问题:在桥接模式中的桥接是单向的,也就是只能是抽象部分的对象去使用具体实现部分的对象,而不能反过来,也就是个单向桥。(2)为何需要桥接 为了达到让抽象部分和实现部分都可以 阅读全文

posted @ 2011-04-17 15:59 李大嘴 编辑

摘要:1. Eclipse3.6 SVN plugininstallation---subversive,我的环境是Ubuntu10.10,Eclipse 3.6.2 helio。下面是安装步骤: Eclipse-->'help'--'install newsoftware' Subversive的URL是已经内置在helio里的,只不过是给Disable掉了。 选'availablesoftware sites', 然后过滤Subversive,把Subversive的URL给Enable,再回到安装界面,就可以选择Subversive的插件了 阅读全文

posted @ 2011-04-15 20:08 李大嘴 阅读(1051) 评论(0) 推荐(0) 编辑

摘要:【安装JDK】首先,从http://www.oracle.com/technetwork/java/javase/downloads/index.html中下载jdk,我的版本是jdk1.6.0_24,我下载的是bin文件,我将下载的jdk1.6.0_24.bin文件置于/usr/lib/jvm/openjdk中,然后,在shell中执行。$sudo chmod u+x /usr/lib/jvm/openjdk/jdk1.6.0_12.bin修改bin文件权限,使其可执行。然后,执行$sudo /usr/lib/jvm/java/jdk1.6.0_12.bin安装完毕。配置下列文件$sudo 阅读全文

posted @ 2011-04-14 16:28 李大嘴 编辑

摘要:行为性设计模式:对象之间的通信。模板方法模式:提供算法的一个抽象定义。命令模式:用简单的对象表示软件命令的执行,支持登录和取消操作。解释器模式:提供一个如何把语言元素包括在程序中的定义。中介者模式:定义了如何用一个对象简化对象之间的通信,使对象之间不必相互了解。迭代器模式:提供一种顺序访问一个类中一系列数据的方式。观察者模式:定义了一种把改动通知给多个对象的方式。职责链:把请求从链中的一个对象传到下一个对象,直到请求被响应为止。通过这种方式去除对象之间的耦合。备忘录模式:定义了如何保存一个类的实例内容,以便以后恢复它。状态模式:允许一个对象在其内部状态改变时修改它的行为。策略模式:将算法封装到 阅读全文

posted @ 2011-04-12 23:49 李大嘴 编辑

摘要:总述: 结构模式描述的是如何组合类和对象已获得更大的结构。类模式和对象模式之间的区别是:类描述的如何通过继承提供更有用的接口,而对象描述的是通过使用对象的组合或将对象包涵在别的对象里面以获得更有用的结构。适配器模式:在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的。如何应对这种“迁移的变化”?如何既能利用现有对象良好的接口,同时又能满足新的应用环境所要求的接口?桥接模式:组合模式:对象的组合装饰模式:动态给对象添加职责外观模式:一个类表示一个子系统,定义了一个高层接口,使得子系统更容易使用。享元模式:用于共享对象,其 阅读全文

posted @ 2011-04-12 23:47 李大嘴 编辑

摘要:工厂方法模式:提供一个简单的决策类,根据条件生成产品。抽象工厂模式:提供一个创建并返回一系列产品的接口。单件模式:某个类只能有一个实例。提供一个全局访问点。(可拓展到有限个实例)生成器模式:将一个复杂对象的构建于呈现分开,以便根据不同需要创建不同的形式。原型模式:先实例化一个类,然后克隆或者拷贝该类来构建新的实例。可以用共有方法进一步修改这些实例。难点:生成器模式关注于将构造对象的过程和构造的各个部分分开,而抽象工厂关注于构建一个产品系列。实际上,最大的区别是生成器模式创建的产品不一定有共同的父类,只要有类似的构造过程即可。实际上我们常见到的文件资源管理器的实现完全可以使用生成器模式。简单工厂 阅读全文

posted @ 2011-04-11 20:12 李大嘴 编辑

摘要:模式一词源于建筑学,每个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。其描述了软件设计过程中某一类常见问题的一般性的解决方案。 面向对象设计模式更加具体,即类与相互通讯的对象之间的组织关系,包括角色、职责、协作方式几个方面。所谓好的面向对象的设计指的是那些可以满足“应对变化,提高复用”的设计。如何做到这8个字呢,面向对象设计模式不想算法技巧,而已照搬,它是建立在对面向对象“纯熟、深入的理解的基础上的经验性认识。掌握面向对象设计模式的前提是首先掌握面向对象”!掌握OOPL是必要条件,但不是充分条件。 对象需要从概念(对象是某种拥有责任的抽象)、规格(对象是一系列可以被. 阅读全文

posted @ 2011-04-11 15:40 李大嘴 编辑

摘要:自从oracke 7.3以来,oracle提供了一种新的join技术,就是hash join。Hash Join只能用于相等连接,且只能在CBO优化器模式下。相对于nested loop join,hash join更适合处理大型结果集。Hash join不需要在驱动表上存在索引。一.Hash Join概述Hash join算法的一个基本思想就是根据小的row sources(称作build input,我们记较小的表为S,较大的表为B)建立一个可以存在于hash area内存中的hash table,然后用大的row sources(称作probe input)来探测前面所建的hash ta 阅读全文

posted @ 2011-04-11 15:32 李大嘴 阅读(6528) 评论(1) 推荐(3) 编辑

摘要:在进行数据库系统的设计时,一个不可忽视的问题是弄清你所面对的应用是属于那种类型。目前流行的应用类型有:* 在线事务处理(OLTP=Online transaction Processing )应用程序* 决策支持系统(DSS=Decision Suport System )应用程序* 多目的应用程序在线事务处理(OLTP)在线事务处理(OLTP=Online transaction Processing )应用程序具有高的吞吐量,并且是Update、Insert 的密集型。如订票系统、订货系统等。在OLTP设计时,要考虑并发用户和系统性能问题,由于索引和簇会降低 Insert和Update的速 阅读全文

posted @ 2011-04-09 10:28 李大嘴 阅读(922) 评论(0) 推荐(0) 编辑

摘要:事实表每个数据仓库都包含一个或者多个事实数据表。事实数据表可能包含业务销售数据,如现金登记事务所产生的数据,事实数据表通常包含大量的行。事实数据表 的主要特点是包含数字数据(事实),并且这些数字信息可以汇总,以提供有关单位作为历史的数据,每个事实数据表包含一个由多个部分组成的索引,该索引包含作为外键的相关性维度的主键,而维度表包含事实记录的特性。事实数据表不应该包含描述性的信息,也不应该包含除数字度量字段及使事实与维度表中对应项的 相关索引字段之外的任何数据。包含在事实数据表中的“度量值”有两中:一种是可以累计 的度量值,另一种是非累计的度量值。最有用的度量值是可累计的度量值,其累计起来的数字 阅读全文

posted @ 2011-04-09 10:25 李大嘴 阅读(6121) 评论(0) 推荐(0) 编辑

摘要:首先,实验出角色与用户的关系 在PostgreSQL中,存在两个容易混淆的概念:角色/用户。之所以说这两个概念容易混淆,是因为对于PostgreSQL来说,这是完全相同的两个对象。唯一的区别是在创建的时候:1.我用下面的psql创建了角色kanon: CREATE ROLE kanon PASSWORD 'kanon'; 接着我使用新创建的角色kanon登录,PostgreSQL给出拒绝信息:FATAL: role 'kanon' is not permitted to log in. 说明该角色没有登录权限,系统拒绝其登录。2.我又使用下面的psql创建了用户 阅读全文

posted @ 2011-04-09 10:22 李大嘴 阅读(3123) 评论(0) 推荐(0) 编辑

摘要:虚拟专用网(VPN)被定义为通过一个公用网络(通常是因特网)建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定的隧道。虚拟专用网是对企业内部网的扩展。简单来说,VPN就是在2个有标记的网络在可以网内通讯。Putty是一个免费的、Windows 32平台下的telnet、rlogin和ssh客户端,但是功能丝毫不逊色于商业的telnet类工具。 阅读全文

posted @ 2011-04-09 10:09 李大嘴 阅读(1494) 评论(0) 推荐(0) 编辑

摘要:随着一个网站的业务不断扩展,数据不断增加,数据库的压力也会越来越大,对数据库或者SQL的基本优化可能达不到最终的效果,我们可以采用读写分离的策略来改变现状。读写分离现在被大量应用于很多大型网站,这个技术也不足为奇了。ebay就做得非常好。ebay用的是oracle,听说是用Quest Share Plex 来实现主从复制数据。 读写分离简单的说是把对数据库读和写的操作分开对应不同的数据库服务器,这样能有效地减轻数据库压力,也能减轻io压力。主数据库提供写操作,从数据库提供读操作,其实在很多系统中,主要是读的操作。当主数据库进行写操作时,数据要同步到从的数据库,这样才能有效保证数据库完整性。Q. 阅读全文

posted @ 2011-04-08 17:32 李大嘴 阅读(39592) 评论(8) 推荐(6) 编辑

摘要:【解决方案一】要提升SQL的查詢效能,一般來說大家會以建立索引(index)為第一考量。其實除了index的建立之外,當我們在下SQL Command時,在語法中加一段WITH (NOLOCK)可以改善線上大量查詢的環境中資料集被LOCK的現象藉此改善查詢的效能。 不過有一點千萬要注意的就是,WITH (NOLOCK)的SQL SELECT有可能會造成Dirty Read。 例如:SELECT COUNT(UserID)FROM EMPLOYEE WITH (NOLOCK) JOIN WORKING_GROUP WITH (NOLOCK) ON EMPLOYEE.UserID = WORKIN 阅读全文

posted @ 2011-04-08 17:29 李大嘴 阅读(5836) 评论(0) 推荐(0) 编辑

摘要:你要寻找什么,而且你有一个容器或者你有一个由迭代器划分出来的区间——你要找的东西就在里面。你要怎么完成搜索呢?你箭袋中的箭有这些:count、count_if、find、find_if、binary_search、lower_bound、upper_bound和equal_range。面对着它们,你要怎么做出选择?简单。你寻找的是能又快又简单的东西。越快越简单的越好。暂时,我假设你有一对指定了搜索区间的迭代器。然后,我会考虑到你有的是一个容器而不是一个区间的情况。要选择搜索策略,必须依赖于你的迭代器是否定义了一个有序区间。如果是,你就可以通过binary_search、lower_bound、 阅读全文

posted @ 2011-04-08 16:50 李大嘴 阅读(1861) 评论(0) 推荐(2) 编辑

摘要:首先去MySQL官网下载MySQL connector/C++http://dev.mysql.com/downloads/connector/cpp/根据自己系统平台下载相应的版本。文件夹名字太长,将“mysql-connector-c++-noinstall-1.0.5-win32”改为“mysql”。下面要配置vs2008的环境。1. 项目属性页->C/C++->General->Additional Include Directories。将mysql\include目录添加进去。2. 项目属性页->Linker->General->Addition 阅读全文

posted @ 2011-04-08 16:41 李大嘴 阅读(12455) 评论(4) 推荐(2) 编辑

摘要:Windows XP、Windows vista、Windows Server 2008,以及处于测试阶段的windows7,都有32位(x86)和64位(x64)两种版本。面对两种版本光盘镜像下载,常常让有些网友不知所措:究竟选择哪个版本更好一些?下面,我用最简洁的文字尽可能作最详尽的回答:两者之间存在的“五大不同”。与此同时,着重说明Microsoft Windows64位(x64)操作系统,相对于32位(x86)操作系统的最大优势和劣势是什么?第一,设计初衷不同。64位操作系统的设计初衷是:满足机械设计和分析、三维动画、视频编辑和创作,以及科学计算和高性能计算应用程序等领域中需要大量内存 阅读全文

posted @ 2011-04-01 16:51 李大嘴 阅读(617) 评论(0) 推荐(1) 编辑

摘要:error C3848: expression having type would lose some const-volatile qualifiers in order to call "bool operator()(const Point3 &lhs, const Point3 &rhs)"解决:bool operator()(const Point3 &lhs, const Point3 &rhs)改为bool operator()(const Point3 &lhs, const Point3 &rhs) cons 阅读全文

posted @ 2011-04-01 15:29 李大嘴 阅读(1079) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示