软件公司OA系统需要提供一个加密模块。为了提高开发效率,现需要重用已有的加密算法(恺撒加密,取模加密等)。这些算法封装在一些由第三方提供的类中,有些甚至没有源代码。试使用适配器模式设计该加密模块,实现在不修改现有类的基础上重用第三方加密方法。 public abstract class Encryp ...
分类:
其他好文 时间:
2020-06-05 21:12:57
阅读次数:
65
这篇文章完全摘录自别人,等后续,基于自己在项目中的应用,再重新写一下。 模板方法模式(Template Method Pattern):定义一个操作中的算法骨架,将一些步骤延迟至子类中.模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 demo 下面是一个模板方法模式的一个d ...
分类:
编程语言 时间:
2020-06-05 21:04:41
阅读次数:
57
一.设计模式 1.MVC设计模式 MVC(Model View Controller) Model:用于封装应用程序的业务逻辑相关的数据及对数据的处理方法,是Web应用程序中用于处理应用程序的数据逻辑部分,model通常只提供功能性的接口,通常这些接口可以获取Model的所有功能。 View:负责数 ...
分类:
系统相关 时间:
2020-06-05 20:54:31
阅读次数:
81
设计模式 一、 单例模式:在系统中有且仅有一个实例,并能对外界提供可访问的方法;单例类必须自己创建自己的唯一实例。 二、 工厂模式: 是创建型模式的一种:用于源源不断的间接性地创建对象; 1、 普通工厂模式:普通方法创建; 2、 简单工厂模式(静态工厂模式):静态方法创建; 工厂模式还可以结合单例模 ...
分类:
其他好文 时间:
2020-06-05 15:01:54
阅读次数:
60
基本概念 到目前为止,我们定义的所有路由都是基于闭包函数实现的,前面已经提到过,随着应用体量的增长,不可能将所有路由都定义在单个文件中,且对于复杂的业务逻辑,闭包函数也不足以支撑,所以和其他 Web 应用框架一样,我们还可以通过控制器来定义路由。 说到这里,我们就不得不提一下 MVC 设计模式,这个 ...
分类:
其他好文 时间:
2020-06-05 13:04:20
阅读次数:
49
用户折扣计费运用 public interface CalculateStrategy { public String userType(); public double discount(double fee); } 几种不同的计费实现 普通用户 // 普通用户 @Service public c ...
分类:
其他好文 时间:
2020-06-05 00:54:07
阅读次数:
91
发短信功能 @Service // spring托管 public class OrderService { @Autowired ApplicationContext applicationContext; /** * 电商 - 新订单 -- 不断维护(外包除外) 后面接手的人 才是接盘 */ p ...
分类:
其他好文 时间:
2020-06-05 00:51:52
阅读次数:
61
学习笔录——设计模式 原型模式(Prototype) 简介 原型模式就是从一个对象在创建另一个可定制的对象,而不需要知道任何创建的细节。 代码示例 public class WorkDeep : ICloneable { public string WorkDate { get; set; } pu ...
分类:
其他好文 时间:
2020-06-05 00:28:08
阅读次数:
58
第三章 工厂模式 3.1 简单工厂模式 简单工厂模式也叫静态工厂模式,属于创建型模式,是工厂模式的一种。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式。 简单工厂模式:定义了一个创建对象的类,由这个类来封装实例化对象的行为(代码)。 在软件开发 ...
分类:
其他好文 时间:
2020-06-04 21:52:01
阅读次数:
80
4.1 通过重构增强代码可测试性实战 代码可测试性: 针对代码编写单元测试的难易程度。对于一段代码,如果很难为其编写单元测试,或者单元测试写起来很费劲,需要依靠单元测试框架中很高级的特性,那往往就意味着代码设计得不够合理,代码的可测试性不好 4.1.1 需求 Transaction 是经过我抽象简化 ...
分类:
其他好文 时间:
2020-06-04 19:55:14
阅读次数:
60