- 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧
前言
在《Effective Java 第2版》中有提到,遇到多个构造器参数时要考虑使用构建器(Builder模式)。相比于重叠构造器(telescoping constructor)模式和JavaBeans模式,Builder模式实现的对象更利于使用。 下面从一个Person例子进行分析以上三种设计模式的使用,Person类有两个必要参数(id和name……继续阅读 »
责任链模式
责任链模式(Chain of Responsibility)定义
责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任……继续阅读 »
以下伪代码是一个保存订单的功能,并会发送短信消息:
/**
* Author heling on 2019/1/9
*/
@Service
public class OrderServiceImpl implements OrderService {
@Override
public void saveOrder() {
/……继续阅读 »
1 面向对象设计原则
单一职责原则(Single Responsibility Principle,SRP):不能将太多的职责放在一个类中;
开闭原则(Open-Close Principle,OCP):软件实体对扩展是开放的,对修改是关闭的;
里氏替换原则(Liskov Substitution Principle,LSP):一个可以接受基类对……继续阅读 »
设计模式分为三大类:
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式
结构型模式,共七种:适配器模式、装饰者模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
其实还有两……继续阅读 »
本文转载截取,原文内容更丰富。想详细了解的小伙伴可以去原创作者:
https://blog.csdn.net/zhangerqing/article/details/8194653
工厂方法模式(Factory Method)
工厂方法模式分为三种:
1、普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。首先看下关系图:
举例如下:……继续阅读 »
代理模式
常见的代理模式
远程代理
虚拟代理
保护代理
智能引用代理
代理模式实现 —— 静态代理
代理和被代理对象在代理之前是确定的。他们都实现相同的接口或者继承相同的抽象类。
// 定义一个接口
public interface Moveable {
public void move();
}
public class Car imple……继续阅读 »
后记:这篇是上一篇《JavaScript的最大秘密》的续集,继JavaScript的原型法之后,又介绍了一下Go语言面向对象的实现。Go语言在面向对象这一块儿比较有趣,结构体和方法分开,没有继承,只有组合,有一种看起来很像DuckTyping的多态,我想Ken Thompson和Rob Pike等人在设计Go语言的时候,肯定经过了深……继续阅读 »
目录
一、简介
二、简单工厂模式
三、工厂方法模式
四、抽象工厂模式
五、总结
一、简介
工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。
工厂模式有三种:简单工厂模式、工厂方法模式、抽象工厂模式。
二、简单工厂模式
简单工厂模式由三类角色组成:抽象产品、具体产品、工厂类。
抽象产品(宝……继续阅读 »
本文内容概括:
静态代理概述
基于继承方式实现静态代理
基于聚合方式实现静态代理
jdk动态代理实现
如何实现一个HashMap的动态代理类
cglib动态代理实现
jdk和cglib代理的区别
动态代理和静态代理的区别
spring如何选择jdk和cglib代理
如上图,代理模式可分为动态代理和静态代理,我们比较常用的有动态代理中的jdk……继续阅读 »