设计模式
文章平均质量分 73
Mirs_sir
这个作者很懒,什么都没留下…
展开
-
设计模式之观察者模式
今天在写一个功能的时候,因为是自己扩展的缘故,所以要实现监听器的功能,于是乎,,,,,, 什么是观察者模式 观察者模式(有时又被称为发布(publish )-订阅(Subscribe)模式、模型-视图(View)模式、源-收听者(Listener)模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知原创 2015-12-30 17:16:34 · 406 阅读 · 0 评论 -
设计模式之抽象工厂模式感悟
工厂模式生产的是基于一种产品的抽象,抽象工厂模式是生产的多种具有共性的产品的抽象; 他的定义是: 为创建一组相关或者是相互依赖的对象提供一个接口,而不需要指定它们的具体类 AbstractFactory 抽象工厂角色 声明 一组 用于创建一种产品的方法,每一个方法对应一种产品 ConcreteFactory 具体工厂角色, 它实现了在抽象工厂中定义的创建产品的方法,生成一组具体的产品,这原创 2016-03-22 19:02:30 · 491 阅读 · 0 评论 -
设计模式之策略模式
策略模式在我的理解里就是 提供解决一种问题的不同方法; 在平时我们解决问题的时候,通常把方法写在一个类里面或者是当前类里面,比如说排序,快排写个方法,基数排序写个方法,堆排序写个方法,在类里调用或者是某个业务逻辑复杂,每一个条件都需要一系列的if..else 或者是switch..case等判断语句来选择具体的业务逻辑的时候,就是使用策略模式的时候。 策略模式的定义原创 2016-03-24 11:24:14 · 313 阅读 · 0 评论 -
设计模式之---责任链模式
责任链模式,大家肯定都有听说过,web应用上的tomcat的filter可以理解为一个责任链模式,责任链模式就相当于一个处理链,一个对象从第一个处理对象开始,处理完之后传到第二个,直到最后一个,而且处理对象的顺序和数量可以任意改动。 责任链模式的定义: 使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到原创 2016-04-08 17:18:45 · 351 阅读 · 0 评论 -
设计模式之状态模式
状态模式,顾名思义,行为是由状态来决定的,不同的状态下有不同的行为,比如说电视机,当我们按开机键后,频道+,-,音量+、-都可以使用,而当我们按关机键之后除了开机键其他键都不可以使用。这就是一种状态 没图我说个JB... 角色介绍: Context 环境类,定义客户感兴趣的接口,维护一个State子类的示例,这个实例定原创 2016-03-28 10:06:49 · 347 阅读 · 0 评论 -
图 最短路径算法--普里姆算法与克里斯卡尔算法
一个连通图的生成树是一个极小的连通子图,它含有图中全部的顶点,但只有足以构成一棵树的n-1条边。所谓的最小成本,就是n个顶点,用n-1条边把一个连通图连接起来,并且使得权值的和最小。综合以上两个概念,我们可以得出:构造连通网的最小代价生成树,即最小生成树(Minimum Cost Spanning Tree)。找连通图的最小生成树,经典的有两种算法,普里姆算法和克鲁斯卡尔算法首先咱们来说普里姆算法原创 2016-10-15 23:15:09 · 1947 阅读 · 0 评论 -
数据结构之链表
数据结构之链表数据结构中,链表算是简单的一种。今天就来写一下链表的原理与实现 github传送门简介链表为啥叫链表。因为他就和一个链子一样。链表分为 单向链表 双向链表 循环链表 实现双向链表为什么只讲双向链表呢。我用一张图给大家诠释可以看出来 单向链表只是存有下个节点的引用,双向列表是存有他上个节点和下个节点的引用,循环链表是他每个节点都存有他的上个节点的引用和下个节点的引用,这里要注意的是,他原创 2016-09-27 12:43:26 · 458 阅读 · 0 评论 -
排序之 快排
排序之 快排序言快速排序是常用的排序算法之一,也是面试的时候经常会问到的,它是冒泡排序的改进,不稳定,时间复杂度 最理想 O(nlogn) 最差时间O(n^2),采用了 挖坑法+分治法基本思想它的基本思想是通过一趟扫描后,使得排序序列的长度能大幅度地减少。在冒泡排序中,一次扫描只能确保最大数值的数移到正确位置,而待排序序列的长度可能只减少1。快速排序通过一趟扫描,就能确保某个数(以它为基准点吧)的左原创 2016-10-31 12:25:48 · 339 阅读 · 0 评论 -
适配器模式
适配器模式故事的前因后果在一个阳光明媚的上午,你刚坐好,然后该死的产品那边又来需求了,“新增页面展示本APP的用户信息 ,要赶紧做好,明天就上线,怎么实现我不管”,真tm有句妈卖批必须要讲!,�� 但是做还是要做的 , 写个接口先public interface IUserInfo{ //得到用户的姓名 public String getUserName(); //得到用户的头像原创 2017-02-16 10:52:21 · 320 阅读 · 0 评论