设计模式
文章平均质量分 81
买糖买板栗
java
展开
-
温习设计模式
OO基础:抽象 封装 多态 继承OO设计特性:可复用 可扩充 可维护设计原则:封装变化:把会变化的部分取出并“封装”起来,好让其他部分不会受到影响(找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起) 针对接口编程,而不是针对实现编程 多用组合,少用继承 为了交互对象之间的松耦合设计而努力 类应该对扩展开放,对修改封闭设计...原创 2020-02-16 15:24:12 · 682 阅读 · 0 评论 -
分布式系统设计
高可用分布式系统应该要考虑以下几个大点和一些小点,大点与小点之间其实有包含、有交集,只是为了方便分点论述才分类。四个大点:容错能力(服务隔离、异步调用、请求幂等性、分布式锁) 可伸缩性(有 / 无状态的服务) 一致性(补偿事务、重试) 应对大流量的能力(熔断、降级)两个小点:解耦(MQ) 线程池四个大点论述:1、容错能力(服务隔离、异步调用、请求幂等性、分布式锁)......原创 2018-07-16 22:32:55 · 9270 阅读 · 1 评论 -
抽象类和接口 应用场景
抽象类和接口设计模式原创 2017-07-04 15:58:01 · 933 阅读 · 1 评论 -
mybatis 操作数据库的 单例模式实现
SqlSessionSqlSessionFactorySqlSessionFactoryBuilderMyBatis单例模式原创 2017-07-04 12:51:06 · 3316 阅读 · 0 评论 -
设计模式~组合模式
1. 概述在数据结构里面,树结构是很重要,我们可以把树的结构应用到设计模式里面。例子1:就是多级树形菜单。例子2:文件和文件夹目录2.问题我们可以使用简单的对象组合成复杂的对象,而这个复杂对象有可以组合成更大的对象。我们可以把简单这些对象定义成类,然后定义一些容器类来存储这些简单对象。客户端代码必须区别对象简单对象和容器对象,而实际上大多数情况下用户认为它们是一转载 2016-11-09 18:00:27 · 371 阅读 · 0 评论 -
单例模式大全
第一种(懒汉,线程不安全):Java代码publicclassSingleton{privatestaticSingletoninstance;privateSingleton(){}publicstaticSingletongetInstance(){if(instance==null){原创 2017-03-03 15:32:46 · 476 阅读 · 0 评论 -
Java 动态代理作用是什么 ==AOP?
关于动态代理设计模式很可能题主就在不知不觉中使用了,例如Spring中的AOP,Struts2中的拦截器等。先来看静态代理模式代码:package test;public interface Subject { public void doSomething(); }package test;public class RealSubj原创 2016-12-08 14:38:36 · 2897 阅读 · 1 评论 -
设计模式~适配器模式
1、概述 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。2、适配器模式的用途 即Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。 下面是两个典型例子3、模式中的角色3.1 目标接口(Target):客户所期待的接口。目标可以是转载 2016-10-12 16:36:59 · 347 阅读 · 0 评论 -
设计模式~装饰模式
装饰模式的构成:1) 抽象构建角色(Component):给出一个抽象的接口,以规范准备接受附加责任的对象。相当于i/o流里面InputStream/OutputStream和Reader/Writer。2) 具体的构建角色(ConcreteComponent):定义一个将要接受附加责任的类。相当于i/o里面的FileOutputStream和FileInputStre原创 2016-10-12 19:00:17 · 439 阅读 · 0 评论 -
设计模式~观察者模式
观察者模式 Observer 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。 这个主题对象在状态上发生变化时,会通知所有观察者对象,让它们能够自动更新自己。 观察者模式的组成 抽象主题角色:把所有对观察者对象的引用保存在一个集合中,每个抽象主题角色都可以有任意数量的观察者。抽象主题提供一个接口,可以增加和删除观察原创 2016-10-12 16:44:59 · 360 阅读 · 0 评论 -
设计模式~单例模式
设计模式 -- 单例模式(饿汉,懒汉模式与多线程下的使用)单例模式:单例模式就是在应用程序中只创建一个该类的对象。又分为饿汉模式和懒汉模式。实现套路也就是只提供私有构造函数,然后提供公有的 getInstance 方法。饿汉模式:也就是一开始就创建该对象。懒汉模式:等到需要用到的时候才创建该对象。饿汉模式public class Singleton {原创 2016-10-12 14:43:48 · 431 阅读 · 0 评论 -
设计模式~工厂模式
在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的。但是在一些情况下, new操作符直接生成对象会带来一些问题。举例来说, 许多类型对象的创造需要一系列的步骤: 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例; 或在生成你需要的对象之前必须先生成一些辅助功能的对象。 在这些情况,新对象的建立就是一个 “过程”,不仅是一个操作,像一部转载 2016-10-12 13:58:47 · 515 阅读 · 1 评论 -
设计模式~策略模式
设计模式~设计原则:(重要)1、逻辑代码独立到单独的方法中,注重封装性--易读,易复用。不要在一个方法中,写下上百行的逻辑代码。把各小逻辑代码独立出来,写于其它方法中,易读其可重复调用。2、写类,写方法,写功能时,应考虑其移植性,复用性:防止一次性代码!是否可以拿到其它同类事物中应该?是否可以拿到其它系统中应该?//这句话才是真正什么时候使用继承,什么时候使原创 2016-10-12 11:42:14 · 452 阅读 · 0 评论