
设计模式
little_color
多多交流啊!
展开
-
原型模式——浅复制VS深复制
在学习设计模式中的原型模式中遇到了浅复制和深复制这两个陌生的面孔。它们到底是什么意思?浅和深到底是什么意思?还是需要来仔细研究一下的 首先,了解一下原型模式:用原型实例制定创建对象的种类,并且通过拷贝这些原型创建新的对象。通俗的将其实就是复制。 若收到复制,并不陌生,但是怎么用,我们又该如何用才能达到更加灵活的复制呢? 1.首先要原创 2014-05-01 15:05:45 · 1427 阅读 · 14 评论 -
代理模式深入学习(二)——实现动态代理对事务的封装
前两篇博客已经为这篇博客做了很多铺垫,从动态代理的实现衍生原理到threadLocal来封装事务,到最后真正的利用动态代理来封装事务。缺少每一 步都似乎显得有些冒进了!现在剩下的就只是把先前封装好的事务加进到写好的动态代理类中就好了!动态代理与事务结合package com.bjpowernode.drp.util;import java.lang.reflect.InvocationHa原创 2015-10-18 16:37:43 · 1464 阅读 · 4 评论 -
代理模式深入学习(一)——动态代理的实现及解析
关于代理模式,就在不久的前的几天,大概是8月17日左右,我带领的小组还曾经被分配任务去给大家讲解代理模式,总共给了两天时间,但是,依然,我们有很多问题没有解决。比如动态代理的一些问题等等。在经历了DRP项目中通过动态代理封装事务后,对动态代理和事务的理解又深了不少! 而事务是很早之前就接触过的概念,对于事务的典型例子:银行取钱,我想大家都不陌生,如何与众多方法结合在一起,减少代码冗余,却从没原创 2015-09-30 15:56:23 · 6875 阅读 · 14 评论 -
从DRP架构进行简单工厂代替抽象工厂的SWOT分析
一、前情回顾1、简单工厂 VS 工厂方法VS抽象工厂: [简单工厂 VS 工厂方法VS抽象工厂](http://blog.youkuaiyun.com/wangyy130/article/details/24867685)2、设计模式总结 :[设计模式总结](http://blog.youkuaiyun.com/wangyy130/article/details/25273161)其实在之前刚接触设计模式的时候,对于原创 2015-09-26 15:42:58 · 1426 阅读 · 52 评论 -
机房重构组合查询模板方法再思考
组合查询,对于机房来说可以算是一个很是值得我们认真考虑的地方,因为解决它的方法有很多种,但是想要找到一个最合适的却需要投入我们更多的思考。当然,不仅仅包括组合查询的SQL语句的组织,也包括检查它的完整性和对它进行数据库中的对应的字段的一个转换等问题。学完设计模式后,大家在重构中大部分都应用了模板方法模式,这个模式在很大程度上减轻了组合查询中涉及到的代码重复问题。具体实现请见:http://bl原创 2014-08-17 15:31:18 · 1641 阅读 · 31 评论 -
机房重构利用策略模式+简单工厂实现消费金额的计算
在做第一次机房收费系统中,有一项很令人头疼的事情,那就是临时用户的问题,在结账的时候,我们需要考虑该用户是固定用户还是临时用户,原来在用VB6.0做的时候,如果我们实现了这个功能,那么在代码中会出现很多的IF....else 语句,同时,我们必须要调用数据设定窗体中的数据,这样的话,会很麻烦,写出来的代码也会很乱,如今学习了设计模式,我们可以利用策略模式来实现对不同用户的消费金额进行计算。将不同的原创 2014-08-12 15:00:33 · 1461 阅读 · 23 评论 -
机房重构时利用状态模式实现消费时间的计算
在做机房重构时,我们会在学生上下机计算学生上机时间时,会出现消费时间随着基本数据设定表中的数据变化而变化,这里不仅仅是数据的变化,还包括不同时间段内消费时间具体确定问题。主要分为三个时间段的计算1.准备时间:即在此时间段内,消费金额为0 2.至少上机时间:如果上机时间超过了准备时间,但是少于至少上机时间,那么此时消费时间为至少上机时间3.按正常消费时间来算:此时,消费时间大于至少原创 2014-08-05 19:46:19 · 1809 阅读 · 21 评论 -
观察者模式——委托的使用
前面在学习C#时,留下一个疑问,为什么要原创 2014-04-26 21:56:45 · 1626 阅读 · 23 评论 -
初识设计模式
刚刚接触设计模式这个词,感觉有点儿高深。 自考前几天看过一阵子设计模式的教程。最开始一头雾水,很是迷茫! 从表面上看,我理解的设计模式就是一个代码的架构,在程序中如何对代码进行布局,排版,如何调整自己的思路和逻辑自己的思维,这就是设计模式。就好像是我们要盖一所别墅,那么里面具体该怎么布局,比如厨房应该建在哪里,卧室应该建在哪里,卫生间呢原创 2014-04-22 18:35:27 · 1206 阅读 · 23 评论 -
设计模式总结
设计模式学习告一段落,一时间有点儿心乱如麻啊真是——剪不断,理还乱!思考了一阵子,也不知道究竟该如何去总结它,但人还是要活着的,路还是要走的,硬着头皮往前闯! 仔细想想,在学习23个设计模式中,我们始终都在围绕着一个主线在思考代码的布局,那就是六大原则——开放封闭,单一职责,依赖倒转,里氏代换,迪米特法则和合成聚合复用原则。当然,并不是说原创 2014-05-08 08:46:09 · 1610 阅读 · 25 评论 -
简单工厂 VS 工厂方法 VS 抽象工厂
说到设计模式,自然少不了简单工厂模式,工厂方法和抽象工厂这三姐妹。它们之间可谓是各有所长,术业专攻啊!这篇博客来简单的梳理一下三者之间的关系。那么工厂又是什么意思呢?结合三者的特点,我认为可以这样理解:工厂可以看做一个特殊的类,在这个类中专门负责生产一系列产品(对象)的一个集合就可以成为工厂。那么上述三种模式之间究竟是怎样的关系呢?各自又有什么优缺点呢?一、简单工厂模式 VS 工厂方法原创 2014-05-02 15:00:43 · 2456 阅读 · 20 评论 -
【Spring实践】运用Spring封装好的ApplicationContext实现策略模式+反射
之前一篇文章写过有关设计模式的博客:策略模式+简单工厂实现消费金额的计算ps:这篇博客是最开始学习VB语言的时候写的,当时还不懂spring,写的比较简单。本篇博客是有关在项目中通过spring来实现策略模式+反射,从而灵活扩展业务实现类。spring本身已经将反射的功能很好的封装了。我们进一步封装一个关于反射的工具类代码如下:SpringContextHolder 工具类...原创 2018-03-29 18:34:28 · 1528 阅读 · 0 评论