![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java design pattern
文章平均质量分 81
noobzc1
这个作者很懒,什么都没留下…
展开
-
设计模式之Bridge
一、 Bridge定义将抽象和行为划分开来,各自独立,但能动态的结合。任何事物对象都有抽象和行为之分,例如门,门是一种抽象,有木门和铁门等。门有具体的行为,行为也有各种具体的表现。所以,门和门的行为就是所谓的抽象和行为之分。在阎宏博士的《JAVA与模式》一书中开头是这样描述桥梁(Bridge)模式的:桥梁模式是对象的结构模式。又称为柄体(Handle and B原创 2012-12-29 00:32:13 · 430 阅读 · 0 评论 -
设计模式(JAVA)------访问者模式
场景:将公司中所有人员信息都打印汇报出来,其中假设公司有两类人员:1.普通员工2.管理层不同人员类型的信息是不同的。访问者模式:定义:封装一些作用于某种数据结构中的各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。包含如下几个角色:1.Visitor-抽象访问者抽象类或者接口,声明访问者可以访问哪些元素,具体到程序中就是visit方法原创 2013-04-20 21:31:24 · 775 阅读 · 0 评论 -
设计模式(JAVA)-------建造者模式
场景:设计一个汽车简易制造工艺流程该模块中主要包括两个部分:1.汽车制造模型2.汽车组装过程建造者模式:定义:将一个复杂对象的构建与它的标示分离,使得同样的构建过程可以创建不同的目标在建造者模式中,有如下4个角色:Produce产品类:通常是实现了模版模式(Template);Builder抽象建造者:规范产品的组件,一般由子类实现;Concre原创 2013-04-19 22:16:57 · 1210 阅读 · 0 评论 -
设计模式(java) ------ 中介者模式
场景:设计一个电脑采购管理模块该模块中主要包括三个部分:1. 采购管理2. 销售管理3. 存货管理需要根据以下要素来决定采购数量销售情况:销售部门反馈销售情况,畅销就多采购,滞销就不采购库存情况:库房有货,才能销售督促采购:若购买的数量大于库存数量,就需要提醒采购部门及时采购物品中介者模式定义:用一个中介对象封装一系列的对象交互,中介者使各对象不需要原创 2013-04-17 22:17:28 · 853 阅读 · 0 评论 -
设计模式(java) ------ 工厂模式+策略模式+门面模式
场景:设计一个交易系统中的子模块------扣款子模块扣款子模块中主要包括两部分:1.IC卡类和交易信息类其中IC卡中包括两种金额:固定金额和自由金额;交易信息类负责记录每一笔交易。2.扣款策略类扣款策略有以下两种:a. IC卡固定金额 = IC卡现有固定金额-交易金额/2 IC卡自由金额 = IC卡自由金额-交易金额/2b. 全部消费从IC卡自由金额中扣原创 2013-04-17 15:40:20 · 3325 阅读 · 1 评论 -
JVM内存管理和GC
JVM内存组成结构JVM内存结构由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示: 1)堆所有通过new创建的对象的内存都在堆中分配,其大小可以通过-Xmx和-Xms来控制。堆被划分为新生代和旧生代,新生代又被进一步划分为Eden和Survivor区,最后Survivor由FromSpace和ToSpace组成,结构图如下所示:-Xms:初始堆大小原创 2013-04-14 13:32:37 · 697 阅读 · 0 评论 -
23种设计模式总结
创建型模式(CreationalPatters):一共有五种,常用的有三种。工厂方法(FactoryMethod):定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法是一个列的实例化延迟到其子类。工厂方法用一个virtual method完成创建过程。抽象工厂(AbstractFactory):提供一个创建一些类相关或相互依赖对象的接口,而无需指定它们具体的类。转载 2013-04-12 22:50:29 · 804 阅读 · 1 评论 -
JAVA设计模式五大原则
JAVA设计模式五大原则1、单一职责不论是在设计类,接口还是方法,单一职责都会处处体现,单一职责的定义:我们把职责定义为系统变化的原因。所有在定义类,接口,方法的时候。定义完以后再去想一想是不能多于一个的动机去改变这个类,接口,方法。如果答案是肯定的,说明定义的类,接口,方法则多于一个职责。故违背单一职责,遇到这种情况应该重新细分职责,直到不会出现多种职责的类,接口方法为止(发现职责,并把转载 2013-04-03 14:26:45 · 903 阅读 · 0 评论 -
成为Java高手的25个学习目标
1.你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式.你应该了解UML,尤其是 class,object,interaction以及statediagrams.2.你需要学习Java语言的基础知识以及它的核心类库 (collections,serialization,streams,networking,?multithreading,reflect转载 2013-03-31 19:23:11 · 446 阅读 · 0 评论 -
HashMap的实现原理
在很多应用中,都要用到一种动态集合结构。例如,计算机程序设计语言的编译程序需要维护一个符号表,其中元素的关键字值为任意字符串,与语言中的标示符对应。实现字典的一种有效数据结构为哈希表(hashmap)。在最坏情况下,在哈希表中,查找一个元素的时间与在链表中查找一个元素的时间相同,在最坏情况下都O(n),但在实践中,哈希技术的效率是很高的。在一些合理的假设下,在哈希表中查找一个元素的期望时间为O(1原创 2012-12-29 23:41:42 · 433 阅读 · 0 评论 -
设计模式(JAVA)------抽象工厂模式
场景:女娲造人抽象工厂模式定义:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定它们的具体类场景问题解决类图:主要涉及如下几个角色:1.人种接口2.白色人种3.黄色人种4.黑色人种5.黄色女性人种、黑色女性人种、白色女性人种6.黄色男性人种、黑色男性人种、白色男性人种7.人种生成工厂接口8.女性生成工厂原创 2013-04-21 15:42:33 · 871 阅读 · 0 评论