zoukankan      html  css  js  c++  java
  • java设计模式--简介

    前言

    设计模式就是前人总结起来的软件设计的经验,只要是为了保证代码的维护性即可读性以及规范性,合理使用设计模式可以帮助程序高内聚,低耦合,可维护性,可扩展性,重用性,灵活性都得以提升。

    相关代码地址:Github

    首先设计模式的七大原则

    单一职责:一个类应该只负责一项职责。

    接口隔离:一个类对另一类的依赖应该建立在最小接口上。例如类A依赖类B中方法1,但是类B中有十个方法,我们需要抽象出一个接口只包含Method1,让类A通过接口去依赖类B

    依赖倒转:高层模块不应该依赖底层模块。抽象不应该依赖细节,细节应该以来抽象,其实就是面向接口编程

    里氏替换:子类中蒋亮不要重写父类的方法,继承本来就会让两个类耦合性增强,如需重写父类方法,在适当情况下,可以考虑通过聚合,组合,依赖来解决问题

    开闭原则:对外扩展开放(对于提供方),对修改关闭(对使用方)

    迪米特法则:最少知道原则,一个类对自己依赖的类知道的越少越好,目的就是为了降低对象之间的耦合

    合成复用原则:在软件复用时,要尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现

    设计原则的核心就是:

    我们需要京可能找出应用中可能会发生变化之处,把他们进行独立,不要和那些不需要变化的代码混在一起

    针对接口编程

    努力做到交互对象之间的松耦合

    概要

    设计模式共分为三种类型,共23种:

    创建型模式:单例模式,抽象工厂模式,原型模式,建造者模式,工厂模式

    结构型模式:适配器模式,桥接模式,装饰模式,组合模式,外观模式,享元模式,代理模式

    行为模式:模板方法模式,命令模式,访问者模式,迭代器模式,观察者模式,中介模式,备忘录模式,解释器模式,状态模式,策略模式,职责链模式

  • 相关阅读:
    [Memcache] memcache中的过期时间策略
    [Memcache] memcache中add和set方法的区别
    [Redis] redis业务实践 , 这次用哈希
    [PHP] PHPMailer发信失败,用这种方式找原因
    [PHP] fastcgi_split_path_info与传递PATH_INFO
    [PHP] 设计一个可扩展的用户登陆系统
    [OAuth] OAuth2.0中的客户端模式
    [Linux] 解决CentOS下Requires: libjson-c.so错误
    [PHP] PHP5中的写时复制change on write
    [JavaScript]js中typeof的用法
  • 原文地址:https://www.cnblogs.com/yangshixiong/p/14056520.html
Copyright © 2011-2022 走看看