08 2017 档案
摘要:1 SELECT CHAR_LENGTH('你好') -- 计算字符串的字符数 2 SELECT LENGTH('你好') -- 计算字符串在内存里占得字节数 3 SELECT CONCAT('AAA','BBB','...') -- 合并字符串 如果有一个参数为空 则最后结果为空 4 SELECT CONCAT_WS ('#','AAA','BBB','...') -- 合...
阅读全文
摘要:Eclipse的编辑功能非常强大,掌握了Eclipse快捷键功能,能够大大提高开发效率。Eclipse中有如下一些和编辑相关的快捷键。 1. 【ALT+/】 此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类、方法和属性的名字时,多体验一下【ALT+/】快
阅读全文
摘要:Ctrl+M 创建一个新的连接Ctrl+N 使用当前设置新建连接Ctrl+F4 断开当前连接 对象浏览器F5 刷新对象浏览器(默认)Ctrl+B 设置焦点于对象浏览器 SQL 窗口Ctrl+T 新建查询编辑器Ctrl+E 设置焦点于 SQL 窗口Ctrl+Y 重做 Ctrl+Z 撤销 Ctrl+X
阅读全文
摘要:分别返回日期和时间: 同时返回日期和时间: 可以在语句后面加 AS 为查询结果 添加别名: 1 SELECT CURRENT_TIMESTAMP() AS "此时此刻"; 在指定日期中提取月份: 1 SELECT MONTH('2015-09-23'),MONTHNAME('2015-09-23')
阅读全文
摘要:在阎宏博士的《JAVA与模式》一书中开头是这样描述模板方法(Template Method)模式的: 模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑
阅读全文
摘要:访问者模式表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。从定义可以看出结构对象是使用访问者模式的必备条件,而且这个结构对象必须存在遍历自身各个对象的方法,类似于Java中的Collection。访问者模式的目的是要把处理从数据结构中分离出来,
阅读全文
摘要:外观(Facade)模式的定义:是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体的细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。 医院的例子 现代的软件系统都是比较复杂的,设计师处理复杂系
阅读全文
摘要:定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态 类型:行为类 类图: 我们在编程的时候,经常需要保存对象的中间状态,当需要的时候,可以恢复到这个状态。比如,我们使用Eclipse进行编程时,假如编写失误(例如不小心误删除了几行
阅读全文
摘要:public Object invoke(Object obj, Object... args) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException 对带有指定参数的指定对象调用由此 M
阅读全文
摘要:(给定一门语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。) 解释器模式的定义是一种按照规定语法进行解析的方案,在现在项目中使用的比较少,其定义如下: Given a language, define a representation for its gramm
阅读全文
摘要:(定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。) 例:button 与 listener ,在使用时具体根据情况实例化listener,做不同的操作。 背景 在软件开发中常常遇到这种情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功
阅读全文
摘要:(它提供一种方法访问一个容器对象中各个元素,而又不需暴露该对象的内部细节。) 迭代器模式(Iterator Pattern)是 Java 和 .Net 编程环境中非常常用的设计模式。这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。 迭代器模式属于行为型模式。 介绍 意图:提供一种方
阅读全文
摘要:(将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。) 在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们只需在程序运行时指定具体的请求接收者即可,此时,可以使用命令模式
阅读全文
摘要:中介者模式就是利用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地互相引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。 就像租房的中介系统,房主跟租房者不需要知道彼此只需要,只要在中介系统发布消息。 如此房主跟租房者之间不需要建立复杂关系,他们都只需要跟中介建立关系。 通常在
阅读全文
摘要:(当一个对象内在状态改变时允许其改变行为,这个对象看起来像改变了其类。) 在软件开发过程中,很多对象也会像水和信号灯一样具有多种状态,这些状态在某些情况下能够相互转换,而且对象在不同的状态下也将有不同的行为。最直接的解决方案是将所有可能考虑到,然后使用if else 语句来进行不同情况的处理,但是这
阅读全文
摘要:(使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。) 从名字中看出 ,系统中将会存在多个有类似处理能力的对象,当一个请求触发后,请求将在这些对象组成的链条中传递直到找到最合适的处理对象,并进行处理。 责任链
阅读全文
摘要:用最简单的描述来区分new关键字和newInstance()方法的区别:newInstance: 弱类型。低效率。只能调用无参构造。new: 强类型。相对高效。能调用任何public构造。 newInstance( )是一个方法,而new是一个关键字,其次,Class下的newInstance()的
阅读全文
摘要:向文本输出流打印对象的格式化表示形式。此类实现在 PrintStream 中的所有 print 方法。它不包含用于写入原始字节的方法,对于这些字节,程序应该使用未编码的字节流进行写入。 与 PrintStream 类不同,如果启用了自动刷新,则只有在调用 println、printf 或 forma
阅读全文
摘要:建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应的作出反应。 在此发生改变的对象称之为观察目标(被观察者),而被通知的对象称为观察者,一个观察者目标可以对应多个观察者,而这些观察者之间没有互相联系,可以根据需要增加和删除观察者,使系统更易于扩展。
阅读全文
摘要:组合模式允许你将对象组合成树形结构来表现”部分-整体“的层次结构,使得客户以一致的方式处理单个对象以及对象的组合。组合模式实现的最关键的地方是——简单对象和复合对象必须实现相同的接口。这就是组合模式能够将组合对象和简单对象进行一致处理的原因。 组合模式多个对象形成树形结构以表示“整体--部分”的结构
阅读全文
摘要:桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。 假如我们需要建立一个日志记录器,可以实现数据库记录和文本记录。根据我们的经验我们应该将日志记录抽
阅读全文
摘要:.(为其他对象提供一种代理以控制对这个对象的访问。) 在实际的软件开发中,我们经常面临着对一个对象进行访问控制的问题,由于跨越网络或安全方面等原因不能直接或不需要直接被访问,直接访问的代价会给系统带来不必要的复杂性。 如何在客户端程序与目标对象之间增加一层中间层,通过它来代替目标对象来完成客户程序对
阅读全文
摘要:(使用共享对象可有效地支持大量的细粒度的对象。) 假设开发一个围棋程序,围棋程序的围棋的棋子包含了颜色、大小、位置等信息。在定义一个棋盘容器来存放这些棋子。 我们可以发现,棋盘的成员变量包含了一个棋子所有的属性,我们需要为每一个颜色大小开辟内存来储存这些信息,而一盘棋需要上百个棋子,这种实现方法占得
阅读全文
摘要:将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 (1)目标(Target)——客户所期待得到的接口,目标可以是具体的或抽象的类,也可以是接口。 (2)源(Adaptee)——已经存在的、需要适配的类。源可以是具体的或抽象的类,也可以是接口
阅读全文
摘要:适用于以下情况: (1)需要扩展一个类的功能,或给一个类添加附加职责。 (2)需要动态的给·一个对象添加功能,这些功能可以再动态的撤销。 (3)需要增加由一些基本功能的排列组合而产生的非常大量的功能,从而使继承关系变得不现实。 (4)当不能采用生成子类的方法进行扩充时,一种情况是:可能有大量独立的扩
阅读全文
摘要:有些对象创建过程较为复杂,而且有些时候需要频繁的创建,原型模式通过给出一个原型对象来指明所要创建的对象的类型,然后复制这个原型对象的方法创建更多同类型的对象。这就是原型模式的动机。 原型模式的主要思想是基于现有对象克隆一个新的对象出来,一般是有对象的内部提供克隆的方法,通过该方法返回一个对象的副本。
阅读全文
摘要:以上这段官方文档的定义,我们可以抽出成以下几个关键点: 1、hashCode的存在主要是用于查找的快捷性,如Hashtable,HashMap等,hashCode是用来在散列存储结构中确定对象的存储地址的; 2、如果两个对象相同,就是适用于equals(Java.lang.Object) 方法,那么
阅读全文
摘要:instanceof是Java的一个二元操作符,和==,>,<是同一类东东。由于它是由字母组成的,所以也是Java的保留关键字。它的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据 instanceof是Java的一个二元操作符,和==,>,<是同一类东东。由于它是由字母组
阅读全文
摘要:单例模式基本要点: 用于确保一个类只有一个实例,并且这个实例易于被访问。 让类自身负责保存他的唯一实例。这个类可以保证没有其他实例创建,并且他可以提供一个访问实例的方法,来实现单例模式。 (1)把构造方法声明为 private ,确保只能由自己创建,避免外部创建实例或被子类继承从而创建额外实例。 (
阅读全文
摘要:建造者模式将一个复杂对象的构建与其表示分离。 将复杂对象进行框架化,将同类的对象编造进同一个制造流程。同类·对象会有一样的框架。 而由于各部分的实现细节有所不同,所生产出来的产品会有所不同。从而有不同的·表示。 建造者模式是一步一步创建一个复杂对象的,它允许用户只通过指定复杂对象的类型和内容就可以不
阅读全文
摘要:不管是简单工厂模式还是工厂方法模式,在整个模式中只能有一个抽象产品,但在现实生活中,一个工厂只创建单个产品的例子很少,因为现在的工厂都是多元化发展。 (1)产品等级结构:即产品的继承结构,如一个抽象类时电视机,其子类又海尔电视机,海信电视机、TCL电视机,则抽象电视机鱼具体电视机之间构成了一个产品等
阅读全文
摘要:在简单工厂模式的基础上对工厂进行抽象化,不同的产品对应不同的具体工厂,客户端拿到工厂实例。 克服了简单工厂模式违背开闭原则。但在添加新产品时需要增加产品以及对应的工厂·增加负复杂度,给系统带来额外开销. 抽象产品类 具体产品类 抽象工厂类 1 public interface Fishfactory
阅读全文
摘要:客户端无需知道类名,只需了解参对应数。 通过引入配置文件,无需修改客户端即可添加产品。 工厂类集合了所有的逻辑,一旦不能正常工作,整个系统都受影响。 系统扩展困难,一旦添加新产品久不得不修改工厂逻辑。 违背了严格意义的开闭原则 添加一种产品需要更改工厂。 抽象产品: 具体产品类: 简单工厂类: 客户
阅读全文

浙公网安备 33010602011771号