设计模式概览

104人浏览 / 1人评论

设计模式的六大原则

  • 单一职责原则:一个类只做一件事儿
  • 开闭原则:对扩展开发, 对修改关闭。
  • 里氏替换原则:继承时子类完全实现基类方法
  • 依赖倒转原则:面向接口变成
  • 接口隔离原则:使用接口进行功能拆分
  • 迪米特原则:不和陌生人说话

设计模式分类

  • 创建型
    • 单例模式
      • 懒汉式
      • 饿汉式
      • double-check locking
      • 静态内部类
      • 枚举
    • 工厂模式
      • 抽象工厂模式 工厂的工厂模式
      • Spring的bean工厂
    • 建造者模式
      • 类中域较多,切可分组
      • 构建不可变对象
    • 原型模式
      • 提供模板,然后进行克隆
  • 结构型
    • 适配器模式
      • 用于兼容多种接口,平时较少使用
    • 桥接模式
      • 一个中间类,多个实现类。中间类中包含实现类,并调用实现类的具体方法,较少使用
    • 过滤器模式
      • 通过逻辑运算解耦过滤操作, 但条件过滤器,过滤条件逻辑过滤器,较少使用
    • 装饰器模式
      • 用于扩展原类功能,切面类可以理解成装饰器的一种使用。常用
    • 外观模式
      • 当某种业务较为复杂的时候,用于隐藏功能的复杂性,对外提供简单接口。service层可以理解成mapper层的外观模式。常用。
    • 享元模式
      • 缓存, 就是重复使用已经创建的对象,这个在我们系统中经常使用,比如单值代码等。常用。
    • 代理模式
      • 静态代理
      • 动态代理
        • jdk动态代理
        • cglib代理
      • Spring的bean代理
  • 行为型
    • 责任链模式
      • 重点是next
      • 最经典的使用场景是javaee中的filter
      • Java8中的Stream也是责任链的一种使用场景
    • 命令模式
      • 线程池, 每个线程就是要给命令
    • 解释器模式
      • 这种看的较多的是mybatis中的Example
    • 迭代器模式
      • List、Set都用到了这个模式,Iterator
    • 中介者模式
      • Context就是中介者, 所有的类均是与Context进行交互
      • 貌似有一个模式就叫Context模式
    • 备忘录模式
      • 就是保存对象的域,用于在遇到的时候恢复对象状态。这种模式用的较少
    • 观察者模式
      • 观察者对象中包含一个或多个接收信息的对象,在需要监听的属性的地方添加观察,当该属性变化的时候通知对应的接收对象。这个地方,观察者有点像一个消息队列。接收生产者生产的消息,推送导消费者
    • 状态模式
      • Context和State组成的一个设计模式,由State确定Context的状态。
    • 策略模式
      • 一个问题的多种实现,或者多种不同的解法
      • 比如,我们需要根据不同的法院对接不同的执行系统,只需要预先定义好规则,然后然后传入法院编号,就可以自行获取。
    • 模板模式
      • 定义模板方法
        • Servlet就是一种模板模式的使用,定义好doGet、doPost等方法实现
    • 访问者模式
      • 策略模式的一种反方向实现, 较为少用

全部评论

2020-08-25 01:24:51.0
My name’s Eric and I just found your site iuuxx.com. It’s got a lot going for it, but here’s an idea to make it even MORE effective. Talk With Web Visitor – CLICK HERE http://www.talkwithwebvisitors.com for a live demo now. Talk With Web Visitor is a software widget that’s works on your site, ready to capture any visitor’s Name, Email address and Phone Number. It signals you the moment they let you know they’re interested – so that you can talk to that lead while they’re literally looking over your site. And once you’ve captured their phone number, with our new SMS Text With Lead feature, you can automatically start a text (SMS) conversation… and if they don’t take you up on your offer then, you can follow up with text messages for new offers, content links, even just “how you doing?” notes to build a relationship. CLICK HERE http://www.talkwithwebvisitors.com to discover what Talk With Web Visitor can do for your business. The difference between contacting someone within 5 minutes versus a half-hour means you could be converting up to 100X more leads today! Eric PS: Studies show that 70% of a site’s visitors disappear and are gone forever after just a moment. Don’t keep losing them. Talk With Web Visitor offers a FREE 14 days trial – and it even includes International Long Distance Calling. You have customers waiting to talk with you right now… don’t keep them waiting. CLICK HERE http://www.talkwithwebvisitors.com to try Talk With Web Visitor now. If you'd like to unsubscribe click here http://talkwithwebvisitors.com/unsubscribe.aspx?d=iuuxx.com