java设计模式0--设计模式简介

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。

设计模式的起源

软件领域的设计模式起源于建筑学。

1977年,建筑大师Alexander出版了《A Pattern Language:Towns, Building, Construction》一书。受Alexander著作的影响 ,Kent Beck和Ward Cunningham在1987年举行的一次面向对象的会议上发表了论文:《在面向对象编程中使用模式》。

设计模式的分类

GOF的著作

目前,被公认在设计模式领域最具影响力的著作是Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides在1994年合作出版的著作:《Design Patterns:Elements of Reusable Object-Oriented Software》(中译本《设计模式:可复用的面向对象软件的基本原理》 或《设计模式》),该书被广大喜爱者昵称为GOF(Gang of Four)之书,被认为是学习设计模式的必读著作,GOF之书已经被公认为是设计模式领域的奠基之作。

面向对象的几个基本原则

1.面向抽象原则

设计一个类时,不让该类面向具体的类,而是面向抽象类或接口 。

举个例子:定义底面为三角形的柱体

2.开-闭原则 

设计应当对扩展开放,对修改关闭。

如果您的设计遵守了“开-闭原则”,那么这个设计一定是易维护的,因为在设计中增加新的模块时,不必去修改设计中的核心模块。

3.高内聚-低耦合原则 

如果类中的方法是一组相关的行为,则称该类是高内聚的,反之称为低内聚的。

所谓低耦合就是尽量不要让一个类含有太多的其它类的实例的引用,以避免修改系统的其中一部分会影响到其它部分。

学习设计模式不仅可以使我们使用好这些成功的模式,更重要的是可以使我们更加深刻地理解面向对象的设计思想,非常有利于我们更好地使用面向对象语言解决设计中的问题。

合理使用模式

1.正确使用; 2.避免教条;  3.模式挖掘

时间: 2024-10-13 20:33:37

java设计模式0--设计模式简介的相关文章

设计模式(0): 简介及SOLID原则

在软件工程中,设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案. 设计模式并不直接用来完成代码的编写,而是描述在各种不同情况下,要怎么解决问题的一种方案.面向对象设计模式通常以类或对象来描述其中的关系和相互作用,但不涉及用来完成应用程序的特定类或对象.设计模式能使不稳定依赖于相对稳定.具体依赖于相对抽象,避免会引起麻烦的紧耦合,以增强软件设计面对并适应变化的能力. 并非所有的软件模式都是设计模式,设计模式特指软件"设计"层次上的问题

php设计模式(一):简介及创建型模式

我们分三篇文章来总结一下设计模式在PHP中的应用,这是第一篇创建型模式. 一.设计模式简介 首先我们来认识一下什么是设计模式: 设计模式是一套被反复使用.容易被他人理解的.可靠的代码设计经验的总结. 设计模式不是Java的专利,我们用面向对象的方法在PHP里也能很好的使用23种设计模式. 那么我们常说的架构.框架和设计模式有什么关系呢? 架构是一套体系结构,是项目的整体解决方案:框架是可供复用的半成品软件,是具体程序代码.架构一般会涉及到采用什么样的框架来加速和优化某部分问题的解决,而好的框架代

Java中单态设计模式

Java中单态设计模式 2011-09-23 16:38:46|  分类: Java |  标签:technology!  |举报|字号 订阅 此博文是转自新浪博客中一名叫做"俊俊的BLOG“用户的一篇博文.感觉此博文确实很不错,所以在此拿出来分享一下!(笔者只是对其所举的代码略做了一些修改) 一概念: 设计模式:设计模式是指经过大量的实践总结和理论化之后的优选的代码结构.编程风格.以及解决问题的思路. 单态设计模式:采取一定的方法保证在整个软件系统中,对某个类只能产生一个对象实例,并且该类只提

java 23 种设计模式

一.设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组合模式.享元模式. 行为型模式,共十一种:策略模式.模板方法模式.观察者模式.迭代子模式.责任链模式.命令模式.备忘录模式.状态模式.访问者模式.中介者模式.解释器模式. 其实还有两类:并发型模式和线程池模式.用一个图片来整体描述一下: 二.设计模式的六大原则 1.开闭原则(Open Clo

Java中介者设计模式

中介者设计模式是一种非常常见的设计模式,其中我们最为熟悉的就是我们的MVC框架,其中的C作为控制器就是一个具体的中介者,它的作用是把业务逻辑(Model),和视图(Viwe)隔离开来,使M V协调工作,把M运行的的结果和V代表的视图融合成一个前端可以展示的页面,减少M 和V的依赖关系,现在MVC框架也是一个非常成熟的框架,这也是中介者模式优点的一个体现. 下面是我在书上面看过的一个例子,它的大概意思就是进销存: 如图所示: 通过中介者之后使得各个类之间不用相互打扰,有什么需要交互的直接通知中介者

黑马程序员——Java中的设计模式

------- android培训.java培训.期待与您交流! ---------- Java中有23种设计模式 按照目的来分,设计模式可以分为创建型模式.结构型模式和行为型模式. 创建型模式用来处理对象的创建过程:结构型模式用来处理类或者对象的组合:行为型模式用来对类或对象怎样交互和怎样分配职责进行描述. 创建型模式用来处理对象的创建过程,主要包含以下5种设计模式:  工厂方法模式(Factory Method Pattern)  抽象工厂模式(Abstract Factory Patt

java 常用十种设计模式示例归纳 | 已打包请带走

设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结. GitHub地址DesignPattern 文章说明一个Demo,集合常用的十种设计模式,每个模式使用易被人们接受的案例讲述,按模式分包,使用设计模式前后对比,界面显示定义讲解,让你更深刻的了解每种设计模式.大部分案例来自张鸿洋的博客.如有错误欢迎指正,如有侵权,请联系我删除. 项目结构 包结构.png设计模式分为三种类型,共23种:创建型模式:单例模式.抽象工厂模式.建造者模式.工厂模

Java进阶篇设计模式之一 ----- 单例模式

前言 在刚学编程没多久就听说过设计模式的大名,不过由于当时还是个彻彻底底的菜鸟,并没有去触碰.直到在开始工作中对简单的业务代码较为熟悉之后,才正式的接触设计模式.当时最早接触的设计模式是工厂模式,不过本文讲的是单例模式,这里就留着下篇文章中在讲解.至于为什么先讲解单例模式? 那是因为单例模式是设计模式中最简单的... .凡事总有个先后顺序,所以就先易后难了.好了,废话不多说了,开始进入正片. 设计模式简介 说明:这里说了的简介就是真的 "简介". 什么是设计模式 设计模式是一套被反复使

Java进阶篇 设计模式之十四 ----- 总结篇

前言 本篇是讲述之前学习设计模式的一个总结篇,其目的是为了对这些设计模式的进行一个提炼总结,能够通过查看看此篇就可以理解一些设计模式的核心思想. 设计模式简介 什么是设计模式 设计模式是一套被反复使用的.多数人知晓的.经过分类编目的.代码设计经验的总结. 为什么使用设计模式 使用设计模式是为了重用代码.让代码更容易被他人理解.保证代码可靠性. 设计模式类型 设计模式有23种类型.按照主要分类可以分为三大类: 一.创建型模式 这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 n

php设计模式(一):简介

一.设计模式简介 首先我们来认识一下什么是设计模式: 设计模式是一套被反复使用.容易被他人理解的.可靠的代码设计经验的总结. 设计模式不是Java的专利,我们用面向对象的方法在PHP里也能很好的使用23种设计模式. 那么我们常说的架构.框架和设计模式有什么关系呢? 架构是一套体系结构,是项目的整体解决方案:框架是可供复用的半成品软件,是具体程序代码.架构一般会涉及到采用什么样的框架来加速和优化某部分问题的解决,而好的框架代码里合理使用了很多设计模式. 二.提炼设计模式的几个原则: 开闭原则:模块