`
iluoxuan
  • 浏览: 571428 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

重构,设计模式,封装

 
阅读更多

1 :设计原理:

   1面向借口编程,2:开闭原则   3:组合编程

   设计模式:

  1: 单列模式 参考http://iluoxuan.iteye.com/blog/2031206

  2:工厂模式,创建对象  spring中beanfactory --一路的继承接口

  3:模板方法, 抽象类定义方法模板,然后抽象一个方法延迟到子类实现

  4:策略模式: 策略接口,有不通的具体策略实现

  5:适配器模式, 有extends,和组合两种适配,还可以结合模板方法

  6:代理模式: 静态代理(就一组合), JDK动态代理,CGLIB动态代理

  7:责任链模式:   Fileter接口引用本身,相当于一个链表,然后一个管理类注册相关具体类 也可以用来重构if else等

  8:观察者模式: 那事件说: 一个Listener接口,具体监听实现,一个Event接口,一个发布类

可以用来发布相关事件,注册监听

  9: 回调模式,java中传入infterface接口实现一个方法,回调模式;长见在spring data框架中

非常有利于实现不通的业务逻辑 不确定的

 10:  builder模式,没什么好说的就一创建具体对象的部走,有一天提示下 builder模式可以方法发挥builder

非常符合流接口设计比如 stringbuilder sb,  sb.append().instert()这样、

   上面这些都是实际中写的比较多的,其他的没怎么用到 也没仔细研究

总这一句话,模式有时候并不怎么好,比如会增加很多类,具体的业务,具体的选择

 

做到很好的扩展是我们的目的

 

 

当我们熟悉了大部分模式,熟悉了抽象编程,和组合编程 

重构的时候我们必须往这些方面去思考,

 

比如我去重构一个商店的购买系统,有打折,每天限购次数, 限购周期,限购批次,等其他一些活动的时候

起初是 直接if else直接判断的

代码很少,看起来也不错,但是有个非常严重的问题每次有新的东西的时候 就要加一个if

过滤不显示的商品也得加一个if

 

很难修改,所以考虑用了过滤器,拦截器

由于使用了spring框架,而且具体的活动处理本身没有理由需要足够的优先级

 

有一个管理类spring管理 然后spring 注解管理具体的实现,那我们很简单的可以用注解活动所有的

具体处理的list

 

 可以参考:spring mvc中拦截器的实现,处理器适配的实现,spring中事件监听,

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    重构与模式.[美]Joshua Kerievsky(带详细书签).pdf

    本书开创性地深入揭示了重构与模式这两种软件开发关键技术之间的联系,说明了通过重构实现模式改善既有的设计,往往优于在新的设计早期使用模式。本书不仅展示了一种应用模式和重构的创新方法,而且有助于读者结合...

    设计模式可复用面向对象软件的基础.zip

    书名: 设计模式可复用面向对象软件的基础 英文原书名: Design Patterns:Elements of Reusable Object-Oriented software 作者: Erich Gamma 等 译者: 李英军 马晓星 蔡敏 刘建中 书号: 7-111-07575-7 页码: 254 定价...

    02-软件设计原则 模式深度解析和案例分析

    软件设计原则/深度解析 ---应用案例分析 设计模式应用策略1—建立面向对象思维 设计模式应用策略2—知道设计模式,知道...设计模式应用策略6—重构到模式,设计模式是重构的目标 设计模式应用策略7—信手拈来,运用自如

    设计模式--C++

    1.1 什么是设计模式 2 1.2 Smalltalk MVC 中的设计模式 3 1.3 描述设计模式 4 1.4 设计模式的编目 5 1.5 组织编目 7 1.6 设计模式怎样解决设计问题 8 1.6.1 寻找合适的对象 8 1.6.2 决定对象的粒度 9 1.6.3 指定对象...

    设计模式:可复用面向对象软件的基础--详细书签版

     “[设计模式]在实用环境下特别有用,因为它分类描述了一组设计良好,表达清楚的面向对象软件设计模式。整个设计模式领域还很新,本书的四位作者也许已占据了这个领域造诣最深的专家中的半数,因而他们定义模式的方法...

    设计模式 GOF 23

    本书设计实例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。本书分类描述了一组设计良好,表达清楚的软件设计模式,这些模式在实用环境下有特别有用...

    设计模式(.PDF)

    1.1 什么是设计模式 2 1.2 Smalltalk MVC中的设计模式 3 1.3 描述设计模式 4 1.4 设计模式的编目 5 1.5 组织编目 7 1.6 设计模式怎样解决设计问题 8 1.6.1 寻找合适的对象 8 1.6.2 决定对象的粒度 9 1.6.3 指定对象...

    GOLF设计模式(C++语言版)

    1.1 什么是设计模式 2 1.2 Smalltalk MVC中的设计模式 3 1.3 描述设计模式 4 1.4 设计模式的编目 5 1.5 组织编目 7 1.6 设计模式怎样解决设计问题 8 1.6.1 寻找合适的对象 8 1.6.2 决定对象的粒度 9 1.6.3 ...

    《设计模式》中文版(23个设计模式的介绍与运用)

    1.1 什么是设计模式 2 1.2 Smalltalk MVC中的设计模式 3 1.3 描述设计模式 4 1.4 设计模式的编目 5 1.5 组织编目 7 1.6 设计模式怎样解决设计问题 8 1.6.1 寻找合适的对象 8 1.6.2 决定对象的粒度 9 1.6.3 指定对象...

    《国外写的,翻译版本》设计模式

    最出名的设计模式,语言诙谐明了。 目 录 序言 前言 读者指南 第1章 引言 1 1.1 什么是设计模式 2 1.2 Smalltalk MVC中的设计模式 3 1.3 描述设计模式 4 1.4 设计模式的编目 5 1.5 组织编目 7 1.6 设计模式怎样解决...

    Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides23种设计模式

    1.1 什么是设计模式 2 1.2 Smalltalk MVC中的设计模式 3 1.3 描述设计模式 4 1.4 设计模式的编目 5 1.5 组织编目 7 1.6 设计模式怎样解决设计问题 8 1.6.1 寻找合适的对象 8 1.6.2 决定对象的粒度 9 1.6.3 指定对象...

    Page-Object设计模式

    自动化脚本初写之际一定是只求完成功能测试,页面by.id、by....那么久引出了这篇文章的主题:Page-Object设计模式 我把我以前写的功能代码翻译成Page-Object模式用了大概一个星期。有两点写在前面希望对后来者有多帮助

    重构-改善既有代码的设计 中文版.pdf

    2.6 重构与设计 2.7 重构与性能 2.8 重构起源何处 第3章 代码的坏味道 3.1 Duplicated Code(重复的代码) 3.2 Long Method(过长函数) 3.3 Large Class(过大类) 3.4 Long Parameter List(过长参数列) 3.5 ...

    设计模式文档

    1.1 什么是设计模式 2 1.2 Smalltalk MVC中的设计模式 3 1.3 描述设计模式 4 1.4 设计模式的编目 5 1.5 组织编目 7 1.6 设计模式怎样解决设计问题 8 1.6.1 寻找合适的对象 8 1.6.2 决定对象的粒度 9 1.6.3 指定对象...

    设计模式 design pattern

    1.1 什么是设计模式 2 1.2 Smalltalk MVC中的设计模式 3 1.3 描述设计模式 4 1.4 设计模式的编目 5 1.5 组织编目 7 1.6 设计模式怎样解决设计问题 8 1.6.1 寻找合适的对象 8 1.6.2 决定对象的粒度 9 1.6.3 指定对象...

    JAVA经典设计模式大全

    1.1 什么是设计模式 2 1.2 Smalltalk MVC中的设计模式 3 1.3 描述设计模式 4 1.4 设计模式的编目 5 1.5 组织编目 7 1.6 设计模式怎样解决设计问题 8 1.6.1 寻找合适的对象 8 1.6.2 决定对象的粒度 9 1.6.3 ...

    软件设计师必读的书-设计模式

    1.1 什么是设计模式 2 1.2 Smalltalk MVC中的设计模式 3 1.3 描述设计模式 4 1.4 设计模式的编目 5 1.5 组织编目 7 1.6 设计模式怎样解决设计问题 8 1.6.1 寻找合适的对象 8 1.6.2 决定对象的粒度 9 1.6.3 指定对象...

    设计模式___

    1.1 什么是设计模式 2 1.2 Smalltalk MVC中的设计模式 3 1.3 描述设计模式 4 1.4 设计模式的编目 5 1.5 组织编目 7 1.6 设计模式怎样解决设计问题 8 1.6.1 寻找合适的对象 8 1.6.2 决定对象的粒度 9 1.6.3 指定对象...

    设计模式可复用面向对象软件的基础.

    本书设计实例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。本书分类描述了一组设计良好,表达清楚的软件设计模式,这些模式在实用环境下有特别有用...

    设计模式(Design.Patterns.CHN)

    1.1 什么是设计模式 2 1.2 Smalltalk MVC中的设计模式 3 1.3 描述设计模式 4 1.4 设计模式的编目 5 1.5 组织编目 7 1.6 设计模式怎样解决设计问题 8 1.6.1 寻找合适的对象 8 1.6.2 决定对象的粒度 9 1.6.3 指定对象...

Global site tag (gtag.js) - Google Analytics