设计模式适合你吗?

转自:http://www.wangyonghu.com/post-6.html

  • 你是否适合学习设计模式?

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

因此设计模式是为软件具体编码的人员服务的,涉及到的相关人员有基层软件开发人员,基层的技术经理等。掌握了设计模式,可以让你开发的系统更满足O2O的概念,部分的实现代码的可扩展性。所以这个和架构师、需求分析师、甚至和项目经理都没有太大的关系,当然有这个技能最好。设计模式主要解决的是具体代码逻辑的实现问题,他把平常开发中出现的例如:重复建对象、继承扩展性、回调方法等思想进行了抽象总结,以利于你快速的解决生产上上述模式的问题。

是不是你掌握了设计模式就能开发出高质量、高扩展的项目了?完全不是。好的项目又涉及到业务梳理、模块拆分、逻辑开发等等。而设计模式只不过是你实现那个逻辑的一种代码思想。如果开发的质量不高,存在大量bug,或者项目业务和模块分的不好,例如权限、组织引用混乱,那么你用设计模式生成的对象再漂亮,可能也会是一个失败的项目。

现在很多软件开发工程师是没有使用设计模式的意识,其实也是情有可原的。很多java开发者都是web开发人员,基本都是mvc的结构,只要补充基本的逻辑,整个开发流程就完成了,这样也是出色的完成了工作。这里提一下,mvc不是设计模式,他是一个软件开发的框架思想。设计模式只是针对微小的代码模块抽象的思想。70年代提设计模式的时候,那时候这么庞大的项目开发估计还很少。目前偏java后端开发的人员可能会更多的关注一下设计模式,因为单进程的java project还是要自己好好的构建的,当然对此spring也提供了很好的框架的扩展性。

  • 设计模式有哪些?

设计模式(Design pattern)主要对代码开发中的三种问题进行了总结抽象,分别是:

1)创建对象:抽象出了5种创建型模式。利于对象的扩展、继承、或者生成单一对象等;

2)对象间关系:或者说是对象的扩展方式、关联方式等,总结了7种结构性设计模式。采用结构模式可以对不同对象进行无缝连接、或者有利于程序扩展,亦或该结构能有效提升程序性能等。

3)代码逻辑的实现,总结了11种行为型设计模式。该类型模式有些已经被api、或者基本class类型固化了,例如Iterater,使用该类型,可以很好的进行代码逻辑的实现。

上面这些思想可能还是比较虚的,看了有些摸不着头脑,不懂他的内涵,我们后面一种一种的进行学习。如果我们进行开发程序时,如何选择使用设计模式呢?如果是小程序,我倒是不愿意过分的往设计模式靠拢,存在过度设计的嫌疑。毕竟技术是为生产服务的,不需要继承扩展能实现的,就不要用高射炮打蚊子了。如果系统庞大,或者出现了需要解决的设计模式问题。初级开发者还是要统揽23种方法,察觉哪种可以帮你解决问题。当你达到熟手时,这个问题就不是问题了,相信你可以信手拈来。

时间: 2024-10-07 22:09:44

设计模式适合你吗?的相关文章

什么是敏捷流程

敏捷建模(Agile Modeling,AM)的价值观包括了XP(Extreme Programming:极限编程)的四个价值观:沟通.简单.反馈.勇气,此外,还扩展了第五个价值观:谦逊. 敏捷开发是针对传统的瀑布开发模式的弊端而产生的一种新的开发模式,目标是提高开发效率和响应能力.除了原则和实践,模式也是很重要的,多研究模式及其应用可以使你更深层次的理解敏捷开发. 沟通 建模不但能够促进你团队内部的开发人员之间沟通.还能够促进你的团队和你的project stakeholder之间的沟通. 简

23种设计模式大全(适合新手阅读)

原文:23种设计模式大全(适合新手阅读) 第Ⅰ部分 开篇 序章 第Ⅱ部分 创建型模式篇 第1章 单例模式(Single Pattern) 第2章 简单工厂模式(Sample Factory) 第3章 抽象工厂模式(Abstract Factory) 第4章 建造者模式(Builder Pattern) 第5章 原型模式(Protype Pattern) 第Ⅲ部分 结构型模式篇 第6章 适配器模式(Adapter Pattern) 第7章 桥接模式(Bridge Pattern) 第8章 装饰模式

论特定场景适合的设计模式之1:简单工厂模式

转自仓大神博文  https://www.cnblogs.com/xrq730/p/6405557.html,在此基础之上加入了自己的理解 简单工厂模式 简单工厂模式是类的创建模式,又叫做静态工厂方法模式.简单工厂模式由一个工厂对象决定生产出哪一种产品类的实例. 为什么要使用简单工厂模式 原因很简单:解耦. A对象如果要调用B对象,最简单的做法就是直接new一个B出来.这么做有一个问题,假如C类和B类实现了同一个接口/继承自同一个类,系统需要把B类修改成C类,程序不得不重写A类代码.如果程序中有

10大APP界面框架设计模式详解

随着移动互联网的发展,移动app已经成为了每个互联网公司的标配了,那作为产品经理,我们如何设计出更加符合用户体验的app产品呢?今天和大家分享的就是10中最常见的app界面光甲设计模式,一起来看看吧. 1.标签导航 标签导航是十大界面框架设计里最常用的界面框架设计,也是被业界之内公认的一种普遍使用的页面框架设计.那么这种页面框架设计在作业方面对一个用户来说也是最常见的一种页面框架设计,比如说微博.微信.手机百度.支付宝.淘宝,这些我们所谓的超级APP都是运用的标签导航,无一例外.从这个角度也可以

设计模式之单列模式

设计模式之单列模式 1,何为单列模式? 即singleton 在某个类采用了单列模式之后  其只能有一个实列对象 ,并且这个实列对象只能有内部自己创建并提供给外部的调用. 2.实现单列模式的方法 分为 :饿汉式 ,懒汉式 下面为饿汉式实现代码: public calss Singleton1{ //将构造函数私有化 防止外部通过new来创建对象 private Singleton1(){ } //创建一个私有静态变量并直接初始化 类加载的时候直接创建对象 private static Singl

Java开发中的23种设计模式详解(转)

设计模式(Design Patterns) --可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样.项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周

【游戏设计模式】之二 实现撤消重做、回放系统的神器:命令模式

本系列文章由@浅墨_毛星云 出品,转载请注明出处.   文章链接:http://blog.csdn.net/poem_qianmo/article/details/52663057 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 这篇文章将与大家一起探索游戏开发中命令模式的用法. 命令模式的成名应用是实现诸如撤消,重做,回放,时间倒流之类的功能.如果你想知道<Dota2>中的观战系统.<魔兽争霸3>中的录像系统.<守望先锋>

java/android 设计模式学习笔记(10)---建造者模式

这篇博客我们来介绍一下建造者模式(Builder Pattern),建造者模式又被称为生成器模式,是创造性模式之一,与工厂方法模式和抽象工厂模式不同,后两者的目的是为了实现多态性,而 Builder 模式的目的则是为了将对象的构建与展示分离.Builder 模式是一步一步创建一个复杂对象的创建型模式,它允许用户在不知道内部构建细节的情况下,可以更精细地控制对象的构造流程.一个复杂的对象有大量的组成部分,比如汽车它有车轮.方向盘.发动机.以及各种各样的小零件,要将这些部件装配成一辆汽车,这个装配过

[JAVA设计模式]第三部分:结构模式

声明:原创作品,转载时请注明文章来自SAP师太博客,并以超链接形式标明文章原始出处,否则将追究法律责任! 结构模式... 52 适配(Adapter)器模式... 52 类适配器模式结构... 52 对象适配器结构... 53 从Iterator到Enumeration的适配... 54 从Enumeration到Iterator的适配... 54 缺省适配(Default Adapter)器模式... 55 模式结构... 56 与适配器模式区别... 56 J2EE中的缺省适配模式... 5