自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

专注=效率

把事情做对是一回事,做对的事情是另一回事,努力和选择都重要,但永远记住选择比努力更重要!

  • 博客(110)
  • 资源 (10)
  • 收藏
  • 关注

转载 设计模式6大原则之里氏替换原则(Liskov Substitution Principle)

里氏替换原则(Liskov Substitution Principle)  肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑。其实原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的。  定义1:如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的所有程序 P 在所有的对象 o1 都

2013-09-27 11:14:56 841

转载 设计模式6大原则之单一职责原则(Single Responsibility Principle)

单一职责原则(Single Responsibility Principle)  定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。  问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。  解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功

2013-09-27 11:13:30 781

转载 设计模式6大原则之迪米特法则(Law Of Demeter)

迪米特法则(Law of emeter)定义:一个对象应该对其他对象保持最少的了解。问题由来:类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。解决方案:尽量降低类与类之间的耦合。  自从我们接触编程开始,就知道了软件编程的总的原则:低耦合,高内聚。无论是面向过程编程还是面向对象编程,只有使各个模块之间的耦合尽量的低,才能提高代码的

2013-09-27 11:06:40 903

转载 UML建模之部署图

概要部署图用于静态建模,是表示运行时过程节点结构、构件实例及其对象结构的图。如果含有依赖关系的构件实例放置在不同节点上,部署视图可以展示出执行过程中的瓶颈。部署图的两种表现形式:实例层部署图和描述层部署图(会在后面的实例中给出)。部署图中的事物及解释部署图中的关系及解释我的部署图部署图与构件图    部署图与构件图相同的构成元素(未懂):

2013-09-27 08:47:19 1733

转载 UML建模之构件图

概述构件图用于静态建模,是表示构件类型的组织以及各种构件之间依赖关系的图。构件图通过对构件间依赖关系的描述来估计对系统构件的修改给系统可能带来的影响。可替换的物理部分包括软件代码、脚本或命令行文件,也可以表示运行时的对象,文档,数据库等。节点(node)是运行时的物理对象,代表一个计算机资源。构件图中的事物构件图中的关系我的构件图

2013-09-27 08:29:21 1256

转载 UML建模之活动图

概要描述系统的动态行为。包含活动状态(ActionState),活动状态是指业务用例的一个执行步骤或一个操作,不是普通对象的状态。活动图适合描述在没有外部事件触发的情况下的系统内部的逻辑执行过程;否则,状态图更容易描述。类似于传统意义上的流程图。活动图主要用于:1、业务建模时:用于详述业务用例,描述一项业务的执行过程;2、设计时:描述操作的流程。活动图中的事物

2013-09-27 08:29:08 1272

转载 UML建模之协作图

概述协作图是一种交互图,强调的是发送和接收消息的对象之间的组织结构,使用协作图来说明系统的动态情况。协作图主要描述协作对象间的交互和链接,显示对象、对象间的链接以及对象间如何发送消息。协作图可以表示类操作的实现。协作图中的事物及解释事物名称解释图参与者发出主动操作的对象,负责发送初始消息,启动一个操作。

2013-09-27 08:28:53 2093

转载 UML建模之顺序图

概述1.顺序图用来表示用例中的行为顺序。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或状态机中引起转换的事件。2. 顺序图展示对象之间的交互,这些交互是指在场景或用例的事件流中发生的。 顺序图属于动态建模。3. 顺序图的重点在消息序列上,也就是说,描述消息是如何在对象间发送和接收的。表示了对象之间传送消息的时间顺序。4. 浏览顺序图的方法是:从上到下查看对象间交换的消息

2013-09-27 08:28:36 2119

转载 UML建模之类图(Class Diagram)

一、类图概要1. 类图以反映类的结构(属性、操作)以及类之间的关系为主要目的,描述了软件系统的结构,是一种静态建模方法2. 类图中的“类”与面向对象语言中的“类”的概念是对应的,是对现实世界中的事物的抽象二、类图中的事物及解释类从上到下分为三部分,分别是类名、属性和操作。类名是必须有的类如果有属性,则每一个属性都必须有一个名字,另外还可以有其它的描述信息,如可见性、数据类型

2013-09-27 08:28:16 1350

转载 Java开发中的23种设计模式之二十三:解释器模式(Interpreter)

23、解释器模式(Interpreter)解释器模式是我们暂时的最后一讲,一般主要应用在OOP开发中的编译器的开发中,所以适用面比较窄。Context类是一个上下文环境类,Plus和Minus分别是用来计算的实现,代码如下: [java] view plaincopypublic interface Expression {      public int

2013-09-27 08:27:59 799

转载 Java开发中的23种设计模式之二十二:中介者模式(Mediator)

22、中介者模式(Mediator)中介者模式也是用来降低类类之间的耦合的,因为如果类类之间有依赖关系的话,不利于功能的拓展和维护,因为只要修改一个对象,其它关联的对象都得进行修改。如果使用中介者模式,只需关心和Mediator类的关系,具体类类之间的关系及调度交给Mediator就行,这有点像spring容器的作用。先看看图:User类统一接口,User1和User2分别是不同的对象

2013-09-27 08:27:21 649

转载 Java开发中的23种设计模式之二十一:访问者模式(Visitor)

21、访问者模式(Visitor)访问者模式把数据结构和作用于结构上的操作解耦合,使得操作集合可相对自由地演化。访问者模式适用于数据结构相对稳定算法又易变化的系统。因为访问者模式使得算法操作增加变得容易。若系统数据结构对象易于变化,经常有新的数据对象增加进来,则不适合使用访问者模式。访问者模式的优点是增加操作很容易,因为增加操作意味着增加新的访问者。访问者模式将有关行为集中到一个访问者对象中,

2013-09-27 08:26:52 701

转载 Java开发中的23种设计模式之二十:状态模式(State)

20、状态模式(State)核心思想就是:当对象的状态改变时,同时改变其行为,很好理解!就拿QQ来说,有几种状态,在线、隐身、忙碌等,每个状态对应不同的操作,而且你的好友也能看到你的状态,所以,状态模式就两点:1、可以通过改变状态来获得不同的行为。2、你的好友能同时看到你的变化。看图:State类是个状态类,Context类可以实现切换,我们来看看代码: [java]

2013-09-27 08:25:59 587

转载 Java开发中的23种设计模式之十九:备忘录模式(Memento)

19、备忘录模式(Memento)主要目的是保存一个对象的某个状态,以便在适当的时候恢复对象,个人觉得叫备份模式更形象些,通俗的讲下:假设有原始类A,A中有各种属性,A可以决定需要备份的属性,备忘录类B是用来存储A的一些内部状态,类C呢,就是一个用来存储备忘录的,且只能存储,不能修改等操作。做个图来分析一下:Original类是原始类,里面有需要保存的属性value及创建一个备忘录类,

2013-09-27 08:25:49 571

转载 Java开发中的23种设计模式之十七:责任链模式(Chain of Responsibility)

17、责任链模式(Chain of Responsibility)接下来我们将要谈谈责任链模式,有多个对象,每个对象持有对下一个对象的引用,这样就会形成一条链,请求在这条链上传递,直到某一对象决定处理该请求。但是发出者并不清楚到底最终那个对象会处理该请求,所以,责任链模式可以实现,在隐瞒客户端的情况下,对系统进行动态的调整。先看看关系图:  Abstracthandler类提供了g

2013-09-27 08:25:41 634

转载 Java开发中的23种设计模式之十八:命令模式(Command)

18、命令模式(Command)命令模式很好理解,举个例子,司令员下令让士兵去干件事情,从整个事情的角度来考虑,司令员的作用是,发出口令,口令经过传递,传到了士兵耳朵里,士兵去执行。这个过程好在,三者相互解耦,任何一方都不用去依赖其他人,只需要做好自己的事儿就行,司令员要的是结果,不会去关注到底士兵是怎么实现的。我们看看关系图:Invoker是调用者(司令员),Receiver是被调用

2013-09-27 08:25:22 730

转载 Java开发中的23种设计模式之十六:迭代器模式(Iterator)

16、迭代子模式(Iterator)顾名思义,迭代器模式就是顺序访问聚集中的对象,一般来说,集合中非常常见,如果对集合类比较熟悉的话,理解本模式会十分轻松。这句话包含两层意思:一是需要遍历的对象,即聚集对象,二是迭代器对象,用于对聚集对象进行遍历访问。我们看下关系图: 这个思路和我们常用的一模一样,MyCollection中定义了集合的一些操作,MyIterator中定义了一系列迭代操

2013-09-27 08:25:03 621

转载 Java开发中的23种设计模式之十五:观察者模式(Observer)

15、观察者模式(Observer)包括这个模式在内的接下来的四个模式,都是类和类之间的关系,不涉及到继承,学的时候应该 记得归纳,记得本文最开始的那个图。观察者模式很好理解,类似于邮件订阅和RSS订阅,当我们浏览一些博客或wiki时,经常会看到RSS图标,就这的意思是,当你订阅了该文章,如果后续有更新,会及时通知你。其实,简单来讲就一句话:当一个对象变化时,其它依赖该对象的对象都会收到通知,

2013-09-27 08:24:56 657

转载 Java开发中的23种设计模式之十四:模板方法模式(Template Method)

14、模板方法模式(Template Method)解释一下模板方法模式,就是指:一个抽象类中,有一个主方法,再定义1...n个方法,可以是抽象的,也可以是实际的方法,定义一个类,继承该抽象类,重写抽象方法,通过调用抽象类,实现对子类的调用,先看个关系图:就是在AbstractCalculator类中定义一个主方法calculate,calculate()调用spilt()等,Plus

2013-09-27 08:24:41 680

转载 Java开发中的23种设计模式之十二:享元模式(Flyweight)

12、享元模式(Flyweight)享元模式的主要目的是实现对象的共享,即共享池,当系统中对象多的时候可以减少内存的开销,通常与工厂模式一起使用。FlyWeightFactory负责创建和管理享元单元,当一个客户端请求时,工厂需要检查当前对象池中是否有符合条件的对象,如果有,就返回已经存在的对象,如果没有,则创建一个新对象,FlyWeight是超类。一提到共享池,我们很容易联想到Jav

2013-09-26 13:50:08 676

转载 Java开发中的23种设计模式之十三:策略模式(strategy)

13、策略模式(strategy)策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户。需要设计一个接口,为一系列实现类提供统一的方法,多个实现类实现该接口,设计一个抽象类(可有可无,属于辅助类),提供辅助函数,关系图如下:图中ICalculator提供同意的方法,AbstractCalculator是辅助类,提供辅助方法,接下来

2013-09-26 13:50:06 559

转载 Java开发中的23种设计模式之十一:组合模式(Composite)

11、组合模式(Composite)组合模式有时又叫部分-整体模式在处理类似树形结构的问题时比较方便,看看关系图:直接来看代码:[java] view plaincopypublic class TreeNode {            private String name;      private TreeNode parent;      privat

2013-09-26 13:48:57 1282

转载 Java开发中的23种设计模式之十:桥接模式(Bridge)

10、桥接模式(Bridge)桥接模式就是把事物和其具体实现分开,使他们可以各自独立的变化。桥接的用意是:将抽象化与实现化解耦,使得二者可以独立变化,像我们常用的JDBC桥DriverManager一样,JDBC进行连接数据库的时候,在各个数据库之间进行切换,基本不需要动太多的代码,甚至丝毫不用动,原因就是JDBC提供统一接口,每个数据库提供各自的实现,用一个叫做数据库驱动的程序来桥接就行了。

2013-09-26 13:47:28 765

转载 Java开发中的23种设计模式之九:外观模式(Facade)

9、外观模式(Facade)外观模式是为了解决类与类之家的依赖关系的,像spring一样,可以将类和类之间的关系配置到配置文件中,而外观模式就是将他们的关系放在一个Facade类中,降低了类类之间的耦合度,该模式中没有涉及到接口,看下类图:(我们以一个计算机的启动过程为例)我们先看下实现类:[java] view plaincopypublic class CP

2013-09-26 13:45:50 672

转载 Java开发中的23种设计模式之八:代理模式(Proxy)

8、代理模式(Proxy)其实每个模式名称就表明了该模式的作用,代理模式就是多一个代理类出来,替原对象进行一些操作,比如我们在租房子的时候回去找中介,为什么呢?因为你对该地区房屋的信息掌握的不够全面,希望找一个更熟悉的人去帮你做,此处的代理就是这个意思。再如我们有的时候打官司,我们需要请律师,因为律师在法律方面有专长,可以替我们进行操作,表达我们的想法。先来看看关系图: 根据上文的阐述

2013-09-26 13:44:49 821

转载 Java开发中的23种设计模式之七:装饰模式(Decorator)

7、装饰模式(Decorator)顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例,关系图如下:Source类是被装饰类,Decorator类是一个装饰类,可以为Source类动态的添加一些功能,代码如下:[java] view plaincopypublic interface

2013-09-26 13:43:29 641

转载 Java开发中的23种设计模式之六:适配器模式(Adapter)

适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。首先,我们来看看类的适配器模式,先看类图:核心思想就是:有一个Source类,拥有一个方法,待适配,目标接口时Targetable,通过Adapter类,将Source的功能扩展到Targetable里,看代码:

2013-09-26 13:43:08 704

转载 Java开发中的23种设计模式之五:原型模式(Prototype)

5、原型模式(Prototype)原型模式虽然是创建型的模式,但是与工程模式没有关系,从名字即可看出,该模式的思想就是将一个对象作为原型,对其进行复制、克隆,产生一个和原对象类似的新对象。本小结会通过对象的复制,进行讲解。在Java中,复制对象是通过clone()实现的,先创建一个原型类:[java] view plaincopypublic class Prototy

2013-09-26 13:37:59 700

转载 Java开发中的23种设计模式之四:建造者模式(Builder)

4、建造者模式(Builder)工厂类模式提供的是创建单个类的模式,而建造者模式则是将各种产品集中起来进行管理,用来创建复合对象,所谓复合对象就是指某个类具有不同的属性,其实建造者模式就是前面抽象工厂模式和最后的Test结合起来得到的。我们看一下代码:还和前面一样,一个Sender接口,两个实现类MailSender和SmsSender。最后,建造者类如下:[java] vie

2013-09-26 13:35:06 674

转载 Java开发中的23种设计模式之三:单例模式(Singleton)

3、单例模式(Singleton)单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处:1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的

2013-09-26 13:32:07 661

转载 Java开发中的23种设计模式之二:抽象工厂模式(Abstract Factory)

2、抽象工厂模式(Abstract Factory)工厂方法模式有一个问题就是,类的创建依赖工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则,所以,从设计角度考虑,有一定的问题,如何解决?就用到抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。因为抽象工厂不太好理解,我们先看看图,然后就和代码,就比较容易理解。

2013-09-26 13:29:52 645

转载 Java开发中的23种设计模式之一:工厂方法模式(Factory Method)

从这一块开始,我们详细介绍Java中23种设计模式的概念,应用场景等情况,并结合他们的特点及设计模式的原则进行分析。1、工厂方法模式(Factory Method)工厂方法模式分为三种:11、普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。首先看下关系图:举例如下:(我们举一个发送邮件和短信的例子)首先,创建二者的共同接口:[java]

2013-09-26 13:28:31 619

转载 什么是设计模式?

设计模式(Design Patterns)                                  ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化

2013-09-26 13:25:31 672

转载 尚学堂马士兵Oracle学习笔记之六:PL/SQL中的游标,存储过程,触发器

---------------------PL/SQL中的重点cursor(游标)和指针的概念差不多----------------------       declare              cursorc isselect * from emp; //此处的语句不会立刻执行,而是当下面的open c的时候,才会真正去数据库中取数据              v_empc%

2013-09-26 11:36:06 2240

转载 尚学堂马士兵Oracle学习笔记之五:PL_SQL(过程化SQL语言)

38、-------------------在客户端输出helloworld-------------------------------       setserveroutput on;//默认是off,设成on是让Oracle可以在客户端输出数据 begin       dbms_output.put_line('helloworld');       end;

2013-09-26 11:34:01 993

转载 尚学堂马士兵Oracle学习笔记之四:开始学习DML语句

3-- import the data impc:\temp>impxxx/xxxscott连接新数据库conn xxx/xxx 开始学习DML语句1. desc dept;insert into dept values (50, 'game', 'bj'); 对数据进行备份的简单办法:1.首先写rollback 刚才插入了一段数据,后悔了,不想

2013-09-26 11:22:53 1016

转载 尚学堂马士兵Oracle学习笔记之三:表连接

14_self_table_connection.avi 例子1:求这个人的名字和他经理人的名字(自连接)select e1.ename, e2.ename from emp e1, empe2where e1.mgr = e2.empno;自连接:为同一张表起不同的别名,然后当成两张表来用 15_SQL1999_table_connections.avi SQL1

2013-09-26 11:20:25 1697

转载 尚学堂马士兵Oracle学习笔记之二:select子句和常用SQL函数

1. In语句:用于塞选某一个值例子1:把薪水是800,1250, 1500, 2000 的雇员信息取出来Select ename, sal from emp where sal in(800,1250, 1500, 2000);也可以用于字符串操作例子2:把名字为SMITH,ALLEN, KING 的雇员取出来Select ename, sal from emp where

2013-09-26 11:16:08 956

转载 尚学堂马士兵Oracle学习笔记之一:基本select语句

尚学堂马士兵Oracle教程笔记(2011-03-28 09:04:04)转载标签: oracle笔记 分类: Oracle  Java代码检查Oracle安装 首先,以超级管理员的身份登录oracle        sqlplus sys/bjsxt as sysdba       然后,解除对scott用户的锁        alter user scott acc

2013-09-26 09:53:10 1517

转载 android代码重构之按钮部分的代码重构

1、自定义按钮的按下效果    android的系统按钮为灰色,与软件界面不太融合,需要自己定义按钮背景。一开始的做法是使用按钮的onTouchListener()来监听按钮行为,分别在 MotionEvent.ACTION_DOWN 和MotionEvent.ACTION_UP  两个按钮动作时,触发searchButton.setBackgroundDrawable()操作。达到了效果,然

2013-09-25 16:01:01 951

用批处理(.bat)自动配置Tomcat服务器

用批处理(.bat)自动配置Tomcat服务器

2013-10-26

led发送图片程序

led发送图片程序 用到了TComPort控件

2007-08-14

自绘按钮程序

位图按钮 可以在按钮上装入位图或添加文字

2007-08-10

VC灵感编程范例源代码(81-101)

VC灵感编程范例源代码(81-101)

2007-08-10

VC灵感编程范例源代码(61-80)

VC灵感编程范例源代码(61-80)

2007-08-10

VC灵感编程范例源代码(41-60)

VC灵感编程范例源代码(41-60)

2007-08-10

VC灵感编程范例源代码(21-40)

VC灵感编程范例源代码(21-40)

2007-08-10

VC灵感编程范例源代码(1-20)

VC灵感编程范例源代码(1-20)

2007-08-10

串口通讯程序

为自己收录的软件<br>呼叫器模拟器-力麒

2007-08-10

很好的INI文件操作类

一个很好的INI文件操作类 使用十分方便

2007-08-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除