zoukankan      html  css  js  c++  java
  • 谈谈你对AOP的理解

    系统是由许多不同的组件所组成,每一个组件各负责一块特定功能。除了实现自身核心功能之外,这些组件还经常承担着额外的职责。例如日志、事务管理和安全这样的核心服务经常融入到自身具有核心业务逻辑的组件中去。这些系统服务经常被称为横切关注点,因为他们会跨越系统的多个组件。

    当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,但并不适合定义从左到右的关系。例如日志功能。

    日志代码往往水平地散布在所有对象层次中,而与它所散步到的对象核心功能毫无关系。

    在OOP设计中,它导致了大量代码的重复,而不利于各个模块的重用。

    AOP:将程序中的交叉业务逻辑(比如安全、日志、事务)封装成一个切面,然后注入到目标对象(具体业务逻辑)中去。AOP可以对某个对象或某些对象的功能进行增强,比如对象中的方法进行增强,可以在执行某个方法之间额外的做一些事情,在某个方法执行之后额外做一些事情。

  • 相关阅读:
    简单错误记录
    识别有效的IP地址和掩码并进行分类统
    爬虫必备—BeautifulSoup
    爬虫必备—requests
    Shellinabox安装及使用教程
    Django——REST framework
    SaltStack部署
    使用js在HTML中自定义字符串格式化方法
    3种上传图片并实现预览的方法
    Ajax
  • 原文地址:https://www.cnblogs.com/liuzhidao/p/14792407.html
Copyright © 2011-2022 走看看