zoukankan      html  css  js  c++  java
  • 20180703Advanced11Course26AOP(面向切面编程AOP-设计进阶)

    一、背景

    OOP,面向对象适合做大型系统,但是,它在需求变化扩展的时候,比较困难;因为面向对象是静态的:任何需求的细微变化,都可能导致比较大的影响。当然,设计模式也是解决OOP这种弊端的一种方式,可以让我们设计出灵活、可扩展、可重用的架构;但是,设计模式都围绕着抽象、类来处理,只能解决部分问题,它无法解决类的内部变化,而不影响其稳定的问题。

    二、AOP

    AOP:面向切面编程,它是一种编程思想,是对OOP的补充,解决类的内部变化的问题。能够让开发者动态的修改一个静态的面向对象模型,即不破坏封装的前提下,增加各种非业务功能(非业务逻辑,即公共逻辑,通用逻辑;而不是业务逻辑,因为业务逻辑是OOP的职责)。

     AOP的实现方式:

    (1)静态实现AOP

    (2)动态实现AOP

    (3)Unity、MVC中的AOP(重点)

     三、需求变化

    验证用户登录、异常处理、日志处理、缓存处理、添加事务、增加性能监控、发送邮件等

    代理、装饰器

     框架,通用性。

  • 相关阅读:
    CF1454F Array Partition
    leetcode1883 准时抵达会议现场的最小跳过休息次数
    leetcode1871 跳跃游戏 VII
    leetcode1872 石子游戏VIII
    CF1355C Count Triangles
    CF1245D Shichikuji and Power Grid
    CF1368C Even Picture
    CF1368D AND, OR and square sum
    CF1395C Boboniu and Bit Operations
    SpringBoot和开发热部署
  • 原文地址:https://www.cnblogs.com/lanyuejiagou/p/13921506.html
Copyright © 2011-2022 走看看