Java江湖之设计模式

ps:最近在学习设计模式,感觉这个是个装逼神器呀,就跟武功一样。
    某日,senior同学看见rookie同学在练功。
    问,"你练得什么武功?"
    答:"不知道了吧,我师从江湖第一大门派:java对象派,我练习的功法名叫搬砖功。
    问:"何为搬砖功?"
    答:"搬砖功简单说来就是代码堆砌,平时如果师傅交代如果有啥子功能需要完成的,我就采用搬砖功,简单的很,直接吧所有需要做的事情写在一个类里面"
    "哈哈哈.........."
    rookie道,"你笑啥?"
   "你有没有发现每次搬砖之后,师傅让你修改砖的位置的时候,你有没有发现你几乎需要推倒重做?"
   "呀,你咋个知道?"
  “哈,我当然知道,你知道咱们门派除了你练习的搬砖功之外,还有GOF老祖留下的一份高级搬砖秘籍”
   "不知道呢,快给我讲讲,感觉很高级的样子"
   "别急,别急,且听我娓娓道来"
   "话说,远古时期,咱们java门派的前辈GOF,他们在大量搬砖的经验总结下,总结出了一套武功秘籍,这套武功秘籍有六大心法,23种招式,如果你能熟练运用心法于招式,你的搬砖效率怕是比现在强上百倍不止!!!"
  "哇,这么厉害的么,senior哥,senior哥,快教教我,快教教我。"
  "嗯,我看你骨骼精奇,是天生练武奇才,且听我介绍一下这内功心法和武功招式都是些啥"

六大心法
   1.单一职责原则

  每个类都不要做太多的事情,功能尽可能简化,不能像你刚才一样,啥子都往一个类里面放,我们应当尽量把每个类负责的功能做到极致

  2.里氏代换原则

  子类一般建议不要重写父类的方法,父类的一些方法一般具有不可变性,如果被子类修改掉,结果可能会比较酸爽

  3.依赖倒置原则

  在我们java门派中,更推崇面向接口编程,而不是面向具体。这个原则提倡我们要依赖于抽象,不要依赖于具体

  4.接口隔离原则

  我们应该尽量使用多个接口取代一个统一的接口,降低类与类之间的耦合度。这里建议:每个接口拥有的功能尽可能小

  5.迪米特原则

  一个实体与其他实体之间有关联的参数应该尽可能少,尽量使实体之间相互独立

  6.开闭原则

  这个原则简单来说就是对扩展开放,对修改关闭,意思就是你需要在不修改一个软件实体的基础上去扩展其他的功能

23大招式
   1.单例模式
  2.工厂模式
  3.适配器模式
  4.装饰器模式
  5.代理模式
  6.组合模式
  7.策略模式
  8.模板模式
  9.观察者模式

Java江湖之设计模式的更多相关文章

  1. Java中单态设计模式

    Java中单态设计模式 2011-09-23 16:38:46|  分类: Java |  标签:technology!  |举报|字号 订阅     此博文是转自新浪博客中一名叫做"俊俊的 ...

  2. 【转】java io 流 设计模式

    知识点:什么是装饰模式: http://wenku.baidu.com/view/ad4eac9f51e79b896802263b.html(原理讲的很清楚) http://wenku.baidu.c ...

  3. java 23种设计模式,一般情况下,常用的有哪些? 转载

    原址:http://wangle.iteye.com/blog/196972 工厂模式, 工厂方法模式,单例模式, 外观(Facade)模式, 观察者(Observer)模式,桥接(Bridge)模式 ...

  4. JDK/Java里的设计模式

    JDK/Java里的设计模式

  5. java里面的设计模式

    文章目录 Creational(创建模式) 1. Abstract factory: 2. Builder: 3. Factory: 4. Prototype: 5. Singleton: 6. Ch ...

  6. Java单例设计模式的实现

    1. 单例设计模式的定义 单例设计模式确保类只有一个实例对象,类本身负责创建自己的对象并向整个系统提供这个实例.在访问这个对象的时候,访问者可以直接获取到这个唯一对象而不必由访问者进行实例化. 单例设 ...

  7. java常用的设计模式

    设计模式:一个程序员对设计模式的理解:"不懂"为什么要把很简单的东西搞得那么复杂.后来随着软件开发经验的增加才开始明白我所看到的"复杂"恰恰就是设计模式的精髓所 ...

  8. java 的常用设计模式--大话设计模式

    设计模式:一个程序员对设计模式的理解:“不懂”为什么要把很简单的东西搞得那么复杂.后来随着软件开发经验的增加才开始明白我所看到的“复杂”恰恰就是设计模式的精髓所在,我所理解的“简单”就是一把钥匙开一把 ...

  9. java 28 - 1 设计模式 之 面向对象思想设计原则和模版设计模式概述

    在之前的java 23 中,了解过设计模式的单例模式和工厂模式.在这里,介绍下设计模式 面向对象思想设计原则 在实际的开发中,我们要想更深入的了解面向对象思想,就必须熟悉前人总结过的面向对象的思想的设 ...

随机推荐

  1. 12 Top Open Source Data Analytics Apps

    1. Hadoop It would be impossible to talk about open source data analytics without mentioning Hadoop. ...

  2. TAE words

    love handle   pang   carbohydrate   podiatry   splay out   Cinderella   liposuction   mingle   fly t ...

  3. Project Euler Problem 16-Power digit sum

    直接python搞过.没啥好办法.看了下别人做的,多数也是大数乘法搞过. 如果用大数做的话,c++写的话,fft优化大数乘法,然后快速幂一下就好了.

  4. Select multiple多选上移、下移

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD ...

  5. 如何学习Python的一些总结

    https://mp.weixin.qq.com/s/w0NoDiYfvtTy8N3BVoIVpw 为什么选择Python 经常会有同学问我为什么选择Python.我很喜欢这门语言,因为它的简洁灵活, ...

  6. pytorch入坑一 | Tensor及其基本操作

    由于之前的草稿都没了,现在只有重写…. 我好痛苦 本章只是对pytorch的常规操作进行一个总结,大家看过有脑子里有印象就好,知道有这么个东西,需要的时候可以再去详细的看,另外也还是需要在实战中多运用 ...

  7. Math.abs( x )

    Math.abs( x ) 下面是参数的详细信息: x : 一个数字 返回值: 返回一个数字的绝对值 <html> <head> <title>JavaScript ...

  8. js随即数字random实现div点击更换背景色

    需求:点击按钮随机给盒子换背景色 用到的知识点:Math.random    Math.round 文章地址 https://www.cnblogs.com/sandraryan/ <!DOCT ...

  9. Python--day21--异常处理

    初识try: except -->异常处理 万能异常的用法:except Exception as error:

  10. hsqldb使用

    1 hsqldb介绍 HyperSQL DataBase 是一个现代的关系数据库管理软件,比较彻底遵从SQL:2008标准和JDBC4规范.支持SQL:2008标准所以的核心特性和很多的可选特性. H ...