摘要:一个新同事来到公司,作为你的一个项目成员,你怎么让这位新人尽快融入到项目组中,并且可以承担一些项目工作?1.积极沟通 你交代一些工作给新同事,往往新同事为了给领导好印象,即使遇到了解决不了的问题,也会埋头苦干自己去解决问题,但有些问题是解决不了,一直这样干耗着吗?有时候,当你遇到一个问题解决不了了,你多问问其他同事,可能不用几秒钟就能解决了,而不用自己干耗着一天两天的时间。但这里有一个前提就是,你自己真的尝试去解决这个问题,这个问题已经超出了自己的能力范围。 这里又涉及一个问题:当有一个同事一有问题就过来找你问,你会有什么样的感觉呢?第一,不仅经常打断你的工作,影响你的工作效率。第二,对该..
阅读全文
摘要:创建模式 创建模式是对类的实例化过程的抽象化。有时候,在创建对象时,需要动态的决定怎么创建对象,创建哪些对象,以及如何组合和表示这些对象关系。创建模式分为类的创建模式和对象的创建模式两种:类的创建模式 类的创建模式使用继承关系,把类的创建延迟道子类,从而封装了客户端将得到哪些具体类的信息,并且隐藏了这些类的实例是如何被创建和放在一起的。对象的创建模式 对象的创建模式把对象的创建过程动态的委派给另一个对象,从而动态的决定客户端将得到哪些具体类的实例,以及这些类的实例是如何被创建和组合在一起的。创建模式种类(1)简单工厂模式(2)工厂方法模式(3)抽象工厂模式(4)建造者模式(5)单例模式(...
阅读全文
摘要:结构模式描述的是如何将类或者对象结合起来形成更大的结构,结构模式可以分为类的结构模式和对象的结构模式。类的结构模式 类的结构模式是使用继承来把类、接口等组合在一起,以形成更大的结构。当一个类从父类继承并实现某个接口时,这个新的类就把父类的结构和接口的结构结合起来了。类的结构模式时静态的。使用类的结构模式的有:(1)类的适配模式对象的结构模式 对象的结构模式描述怎么把各种不同类型的对象组合在一起,以实现新的功能方法。对象的结构模式是动态的。使用对象的结构模式的有:(1)对象的设计模式
阅读全文
摘要:Zachman框架旨为信息技术企业提供一种可以理解的信息表述.它可以对企业信息按要求分类和从不同角度进行表示.Zachman框架的创始人John Zachman早在1987年就提出了这种思想,它全称为企业架构和企业信息系统结构架构(Zachman Framework for Enterprise Architecture and Information Systems Architecture).Zachman框架模型分两个维度:横向维度采用6W(what、how、where、who、when、why)进行组织,纵向维度反映了IT架构层次,从上到下(Top-Down),分别为范围模型、企业模型
阅读全文
摘要:模式定义模板方法模式(Template Method Pattern),定义一个操作中的算法骨架,而将一些实现步骤延迟到子类当中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。模板方法模式是代码复用的一项基本的技术,在类库中尤其重要,它遵循“抽象类应当拥有尽可能多的行为,应当拥有尽可能少的数据”的重构原则。在JUNIT中我们写的测试类就是通过模版方法来调用的,先执行setUp(),然后是:测试方法,最后执行tearDawn();模式使用模版方法模式编程:1.设计抽象类,在抽象类中定义要执行的方法2.在模版方法中,加入抽象定义方法的执行步骤3.在实现类中具体实现UML类
阅读全文
摘要:模式定义:原型模式:通过“复制”一个已经存在的实例来返回新的实例,而不是新建实例,被复制的实例就是我们所称的“原型”。UML类图:类图代码:浅拷贝:public class Thing implements Cloneable{ //定义一个私有变量 private ArrayList<String> arrayList = new ArrayList<String>(); @Override public Thing clone(){ Thing thing=null; try { thing = (Thing)sup...
阅读全文
摘要:单例模式定义:单例模式(也叫单件模式)是保证在整个应用程序的生命周期中,任何一个时刻,单例类的实例都只存在一个(当然也可以不存在)。UML类图:类图代码:主动式(不管有没有调用,都先实例化出来):public class Singleton { private static Singleton singleton = new Singleton(); private Singleton() {} public static Singleton getInstance(){ return singleton; }}被动式(第一...
阅读全文
摘要:建造者模式是什么?建造者模式是将一个复杂对象的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。这里不禁会有疑问,将复杂对象的构建与其表示相分离,我们前面不是使用工厂方法模式可以实现了吗?可见,构造者模式不是为解决这个问题而生的。那它到底要解决什么问题呢?它是通过相同的构建过程创建不同的表示。也就是说,对象是创建出来的,但是返回的对象的属性是不同的。UML类图:类图代码:Productpublic interface Product { public void addPart(String part) ; public void showProduct();}Concret...
阅读全文
摘要:抽象工厂模式是什么?抽象工厂是应对产品族概念的。比如说,每个汽车公司可能要同时生产轿车,货车,客车,那么每一个工厂都要有创建轿车,货车和客车的方法。UML类图:类图代码:ProductApublic interface ProductA { public void operation1(); public void operation2();}ProductBpublic interface ProductB { public void operation1(); public void operation2();}ConcreateProductA1public cl...
阅读全文
摘要:工厂方法模式是什么? 工厂方法模式是针对每一种产品提供一个工厂类,通过不同的工厂实例来创建不同的产品实例。在同一等级结构中,支持增加任意产品。UML类图如下:注意:Factory不一定要用接口,也可以采用抽象类,反正能符合里氏替换原则就可以了,不要太注重形式。要注意的是怎么解决问题。类图代码:Productpublic interface Product { public void operation1(); public void operation2();}ConcreateProductApublic class ConcreateProductA implements ...
阅读全文
摘要:什么是简单工厂模式?从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式的工厂类一般是使用静态方法,通过接收的参数的不同来返回不同的对象实例。不修改代码的话,是无法扩展的。UML类图如下:代码:Productpublic interface Product { public void operation1(); public void operation2();}ConcreateProductApublic class ConcreateProductA imple...
阅读全文
摘要:1. "开-闭"原则(Open-ClosedPrinciple,OCP)解释:一个软件实体应该对扩展开放,对修改关闭。就是说,在设计一个模块的时候,应当使这个模块可以在不被修改的情况下被扩展。开-闭原则是面向对象设计可复用的第一块基石。2. 里氏代换原则(Liskov Substitution Principle,LSP)解释:一个软件实体如果使用的是一个基类的话,那么一定适用于其子类。3. 依赖倒转原则(Dependenceinversion principle, DIP)解释:依赖于抽象,不要依赖于实现。要针对接口编程,不要针对实现编程。4. 合成/聚合复用原则(Com
阅读全文
摘要:面向对象的设计艺术(设计模式)1. 开篇导读2. 面向对象的设计原则3. 设计模式之创建模式3.1 简单工厂模式3.2 工厂方法模式3.3 抽象工厂模式3.4 建造者模式3.5 单例模式3.6 原型模式4. 设计模式之结构模式4.1 适配器模式4.2 桥梁模式4.3 组合模式4.4 装饰模式4.5 门面模式4.6 享元模式4.7 代理模式5. 设计模式之行为模式5.1 责任链模式5.2 命令模式5.3 策略模式5.4 观察模式5.5 解释器模式5.6 迭代模式5.7 中介模式5.8 备忘录模式5.9 状态模式5.10 模板方法模式5.11 访问者模式6. 设计模式之比较6.1 装饰模式 VS
阅读全文
摘要:1. 从功能效果上看装饰模式:在不改变接口的前提下,动态扩展对象的功能代理模式:在不改变接口的前提下,控制对象的访问装饰模式强调功能扩展,比如A对象的B方法,运用装饰模式后,在调用B方法前后,实现新的功能,此时B方法效果与原来不同代理模式强调控制访问,如上例,运用代理模式后,在调用B方法前后,控制怎么访问B方法的原始数据,而对于B实现的功能效果不做修改因此,如果运用设计模式后,方法的功能效果(主要是输出效果)不变,一般可视为代理。2. 从类结构上看装饰模式结构图如下:代理模式结构图如下:3. 从语言层面看代理模式:代理和真实对象之间的的关系通常在编译时就已经确定了装饰模式:装饰者能够在运行时递
阅读全文
摘要:1.设计模式是什么?设计模式(Design pattern)是一套代码设计经验的总结,是解决某种应用场景问题的一个通用解决方案。2.为什么要用设计模式?使用设计模式的目的有如下几种:(1)可重用代码(2)让代码更容易被他人理解(3)保证代码可靠性(4) 易于做扩展3.设计模式都有哪些?Java设计模式分为创建模式, 结构模式, 行为模式 3种类型:创建模式(1)Factory( 工厂方法)(2)Factory( 抽象工厂)(3)Builder(建造者模式)(4)Singleton(单例模式)(5)Prototype(原型模式)结构模式(1)Adapter(适配器模式)(2)Bridge(桥梁模
阅读全文