
设计模式
文章平均质量分 69
IT农夫
古人学问无遗力,
少壮工夫老始成。
纸上得来终觉浅,
绝知此事要躬行。
展开
-
简明理解泛型中的? extends T 与 ? super T
简单来说,通过List<? extends T>定义的list只能从里面取数据,取出来的对象都是T类型或者T类型的子类。对于List<? super T>定义的list,只能将对象元素放入list,放入的对象是T类型或者T类型的子类。总结为PECS原则:由于<? extends T>的只能取,不能存,而<? super T>得只能存,不能取,因...原创 2019-11-25 16:58:26 · 678 阅读 · 1 评论 -
架构师的成长历程:合格的架构师是如何炼成的
新浪云计算架构师丛磊老师谈架构师对于任何一个软件开发人员来说,架构师都是一个令人向往的角色。那么从程序员与架构师有没有比较明显的区别呢?从丛磊老师的介绍中我们知道,其实架构师和程序员的界限并不是很大,比如现在仍然在每天写代码。其实成长首先来自于自身的学习,而阅读成熟项目的代码会使人受益匪浅,其次就是来自于所从事领域的经验,要了解分布式系统的特点,在做项目时,要能够关注性能、扩展性、可靠性、可用转载 2012-08-23 11:05:53 · 3190 阅读 · 0 评论 -
让JAVA代码跑得更快
本文简单介绍一下在写代码过程中用到的一些让JAVA代码更高效的技巧.1,将一些系统资源放在池中,如数据库连接,线程等.在standalone的应用中,数据库连接池可以使用一些开源的连接池实现,如C3P0,proxool和DBCP等,在运行在容器中的应用这可以使用服务器提供的DataSource.线程池可以使用JDK本身就提供的java.util.concurrent.ExecutorServi原创 2012-06-12 12:56:50 · 2414 阅读 · 0 评论 -
Bridge 模式
将抽象和行为部分分离,使它们都可以独立变化。抽象和行为划分开来,各自独立,但又能动态的结合,从而可以满足多维度的变化。比如,一个需求:coffee可以有大杯,中杯,小杯,同时又可以有各种不同的风味。大杯,中杯或小杯属于coffee的量,是coffee的抽象的属性,而加风味则是属于行为。这些抽象的东西和行为又是可以组合的,如果抽象和行为不分开,则对于每一中组合,都需要一个子类来实现,而且子类原创 2009-04-04 14:34:00 · 1583 阅读 · 0 评论 -
Adapter 模式
如果大家把自己的笔记本带到印度,英国去用,这时候你就需要一个Adapter,因为中国的电压是220V,而他们的不是.或者大家也许用过把一个窜口的鼠标加一个Adapter而接到USB接口上.在软件开发中也有这样的场景,常常需要把一些现存的对象放到新的应用环境中,但是新的应用系统要求的接口却和这些现存的对象不一致,这时候就需要一个Adapter,将现存的对象转换成新的应用系统希望的接口.Adapt原创 2009-03-22 14:53:00 · 1911 阅读 · 0 评论 -
UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别
UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别转自:http://www.alisdn.com/wordpress/?p=1135这是一堂关于UML基础知识的补习课;现在我们做项目时间都太紧了,基本上都没有做过真正的class级别的详细设计,更别提使用UML来实现规范建模了;本篇主要就以前自己一直感觉很迷糊的几种class之间的关系进行整理,让我们在真正用转载 2009-03-18 14:25:00 · 1956 阅读 · 0 评论 -
Builder 模式
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 当一个复杂对象的创建需要很多步骤的时候,这些步骤在不同的条件下是变化的.通过不同的Builder创建不同风格的复杂对象. 为什么不用类本身的constructor呢,构造函数应该只是对本身的数据(state&data)进行初始化. Builder的buildPart可以在ConcreteB原创 2009-03-08 11:21:00 · 1355 阅读 · 0 评论 -
Factory 模式
解决实现依赖.[用Factory创建的对象,它的实现细节可能是不断变化的,但是它必须有一个稳定的接口]Factory模式 利用给Factory对象传递不同的参数,以返回具有相同基类或实现了同一接口的对象。Abstract Factory模式先利用Factory模式返回具体Factory对象,在通过Factory对象返回不同的对象 那里变化,就封装那里.[变化点在对象创建]new Roa原创 2009-03-01 15:30:00 · 1783 阅读 · 0 评论 -
设计模式的学习
OOP的核心思想: 封装(Encapsulation).继承(inheritance).多态(polymorphism). 什么是类?概念层: 某些责任的抽象.规格层: 一系列可以被其他对象使用的接口.语言层: 封装了代码和数据. 软件设计原则:针对接口编程,而不是针对实现.不要滥用继承,理清继承和组合的关系.[继承处理类之间的静态关系原创 2009-02-28 16:27:00 · 1387 阅读 · 0 评论 -
Singleton 模式
有这样一种类,它在整个系统中只存在一个实例.[中国这个类,地球这个类] 而保证这个类只有一个实例,是类设计者的责任,而不是类的使用者. 保证只有一个实例:private constructor.** 不要实现Cloneable和Serializable接口. 提供一个全局的访问点:public static access method. 多线程安全?原创 2009-02-28 16:44:00 · 1258 阅读 · 0 评论