zoukankan      html  css  js  c++  java
  • Java设计模式学习笔记一

    谈起设计模式,其实大家多多少少都听说过一些,比如单例模式、工厂模式等等随口就能说出来,但是要我说出具体的细节,或者用代码实现一遍,可能就不知道从何处着手了。所以特意系统的学习一下设计模式,以下就是我的一些学习笔记,如有错误,请不吝指出。

    什么是设计模式?

    设计模式其实就是程序员在编程时总结出来的一系列模式、规则,是对软件设计中普遍存在(反复出现)的问题,所提出的解决方案。

    设计模式包含了面向对象的精髓,"懂了设计模式,你就懂了面向对象分析和设计(OOA/D)的核心".

    设计模式的目的

    代码重用性、可读性、可扩展性、可靠性、高内聚低耦合...

    设计模式的七大原则

    1. 单一职责原则
    2. 接口隔离原则
    3. 依赖倒转(倒置)原则
    4. 里氏替换原则
    5. 开闭原则
    6. 迪米特法则
    7. 合成复用原则

    1)单一职责原则

    对类来说的,即一个类应该只负责一项职责。

    2)接口隔离原则

    客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上。

    3)依赖倒转原则

    1. 高层模块不应该依赖低层模块,二者都应该依赖其抽象;
    2. 抽象不应该依赖细节,细节应该依赖抽象;
    3. 依赖倒转的中心思想是面向接口编程;
    4. 使用接口或抽象类的目的是制定好规范,而不涉及任何具体的操作,把展现细节的任务交给他们的实现类去完成。

    4)里氏替换原则

    1. 在使用继承的时候,遵循里氏替换原则,在子类中尽量不要重写父类的方法;
    2. 可以通过聚合、组合来解决问题。
      注:聚合关系是整体和部分的关系,整体和部分可以分开(如:电脑由显示器、键盘、鼠标等组成,可以相互分离开);组合关系也是整体和部分的关系,整体和部分不可以分开(如桌子是有桌子腿和桌面组成,但是他们不能分离开,分开就不是桌子了)

    5)开闭原则(OCP)

    1. 是编程中最基础、最重要的设计原则
    2. 对扩展开放(对提供方),对修改关闭(对使用方)

    6)迪米特法则

    1. 一个对象应该对其他对象保持最少的了解
    2. 类与类关系越密切,耦合度越大
    3. 迪米特法则又叫最少知道原则,即一个类对自己依赖的类知道的越少越好
    4. 只与直接的朋友通信
    5. 直接的朋友:每个对象都会与其他对象有耦合关系,只要两个对象有耦合关系,就说这两个对象之间是朋友关系。耦合的方式有很多:依赖、关联、组合、聚合。其中,称出现成员变量、方法参数、返回值中的类为直接朋友,而出现在局部变量中的类不是直接的朋友。

    7)合成复用原则

    尽量使用合成/聚成的方式,而不是使用继承

  • 相关阅读:
    python学习:两个py文件间的函数调用
    python学习:基础概念
    python学习:Windows 下 Python easy_install 的安装
    Python学习:python网址收集
    Nginx模块之Nginx-Ts-Module学习笔记(一)抢险体验
    PHP 文件加密Zend Guard Loader 学习和使用(如何安装ioncube扩展对PHP代码加密)
    OpenResty 扩展库(二)lua-resty-template
    Github 开源项目(二) jsmpeg-vnc
    info replication
    linux下编译make文件报错“/bin/bash^M: 坏的解释器,使用grep快速定位代码位置
  • 原文地址:https://www.cnblogs.com/tangjian07/p/12290141.html
Copyright © 2011-2022 走看看