午夜国产狂喷潮在线观看|国产AⅤ精品一区二区久久|中文字幕AV中文字幕|国产看片高清在线

    計(jì)算機(jī)專業(yè)時(shí)文選讀(971)
    來源:易賢網(wǎng) 閱讀:923 次 日期:2017-06-08 09:49:50
    溫馨提示:易賢網(wǎng)小編為您整理了“計(jì)算機(jī)專業(yè)時(shí)文選讀(971)”,方便廣大網(wǎng)友查閱!

    Aspect-Oriented Programming

    Aspect-oriented programming (AOP) is an approach to programming that

    allows global properties of a program to determine how it is compiled into

    an executable program. The conceptualizers of AOP compare aspect

    programming to the manufacturing of cloth in which threads are

    automatically interwoven. Without AOP, programmers must stitch the threads

    by hand.

    AOP complements object-oriented programming by allowing the developer to

    dynamically modify the static object-oriented model to create a system

    that can grow to meet new requirements, allowing an application to adopt

    new characteristics as it develops.

    AOP provides a solution for abstracting cross-cutting code that spans

    object hierarchies without functional relevance to the code it spans.

    Instead of embedding cross-cutting code in classes, AOP allows you to

    abstract the cross-cutting code into a separate module (known as an

    aspect) and then apply the code dynamically where it is needed. You

    achieve dynamic application of the cross-cutting code by defining specific

    places (known as pointcuts) in your object model where cross-cutting code

    should be applied. At runtime or compile time, depending on your AOP

    framework, cross-cutting code is injected at the specified pointcuts.

    Essentially, AOP allows you to introduce new functionality into objects

    without the objects’ needing to have any knowledge of that introduction.

    Aspect-oriented software development (AOSD) is a new approach to software

    development that addresses limitations inherent in other approaches,

    including object-oriented programming. AOSD aims to address crosscutting

    concerns by providing means for systematic identification, separation,

    representation and composition. Crosscutting concerns are encapsulated in

    separate modules, known as aspects, so that localization can be promoted.

    This results in better support for modularization hence reducing

    development, maintenance and evolution costs.

    The following terms are often used in AOP:

    Aspect An aspect is a subprogram that is associated with a specific

    property of a program. As that property varies, the effect “ripples”

    through the entire program. The aspect subprogram is used as part of a new

    kind of compiler called an aspect weaver.

    Aspect is a construct, resembling classes, for addressing concerns that

    cut across classes. An aspect can contain methods and fields, extend other

    classes or aspects, and implement interfaces.

    Aspects in AOP package advice and pointcuts into functional units in much

    the same way that object-oriented programming uses classes to package

    fields and methods

    AspectC++ An aspect-oriented extension to the C++ programming language.

    AspectJ An aspect-oriented extension to the Java programming language.

    Advice Code that runs after certain conditions are met. Advices allow you

    to transparently apply things like logging and metrics to an object

    model..

    Concern Some functionality or requirement necessary in a system that may

    or may not have been implemented in a code structure. Concerns can range

    from high-level notions like security and quality of service to low-level

    notions such as caching and buffering. They can be functional, like

    features or business rules, or systemic, such as synchronization and

    transaction management.

    Crosscutting Two concerns crosscut if the methods related to those

    concerns intersect. An aspect crosscuts the traditional class and method

    boundaries by applying the same code in each.

    Interceptor Used to implement an advice in JBoss 4.0, a popular Java

    application server.

    Introduction A way to add methods or fields to an existing class, to bring

    multiple inheritance to plain Java classes or to attach a new API to an

    existing object model. Used in JBoss 4.0.

    Joinpoints Points, or hooks, in a program’s execution where enhancements

    can be added or behaviors attached. For example, joinpoints could define

    calls to specific methods in a class.

    Pointcuts Program constructs that designate joinpoints and collect

    specific context at those points. In AOP, pointcuts define the points in

    your model where advice will be applied.

    Weave To assemble an individual concern into a process by interlacing

    different execution-logic fragments according to some supplied criteria.

    Metadata Additional information that can be attached to a class or a given

    instance of an object, either statically or at runtime. Metadata helps

    when writing truly generic aspects that can be applied to any object, but

    the logic needs to know class-specific information.

    面向方面程序設(shè)計(jì)

    面向方面程序設(shè)計(jì)(AOP)是一種編程方法,允許以程序的整體特性來確定它如何編譯成可執(zhí)行程序。要說明AOP的概念,可以將方面編程類比成織布,這時(shí)紗線自動織成布。而沒有AOP,程序員必須用手來織布。

    AOP是對面向?qū)ο蟪绦蛟O(shè)計(jì)的補(bǔ)充,它允許開發(fā)人員動態(tài)修改靜態(tài)的面向?qū)ο竽P停陨赡艹砷L的系統(tǒng),來滿足新的要求,從而讓應(yīng)用程序在發(fā)展過程中適應(yīng)新的特性。

    AOP為把橫切代碼抽象提供了解決方案,而橫切代碼在沒有與這些代碼功能關(guān)聯(lián)性的情況下跨躍了對象的層次。AOP讓你將橫切代碼抽象進(jìn)入另外的模塊(稱作方面),來替代將橫切代碼嵌入類,然后動態(tài)地在需要它的地方應(yīng)用這些代碼。通過定義對象模型中應(yīng)該應(yīng)用橫切代碼的具體地方(稱作點(diǎn)切),就能獲得橫切代碼的動態(tài)應(yīng)用。在運(yùn)行時(shí)或編譯時(shí),依據(jù)你的AOP架構(gòu),橫切代碼注入到特定的點(diǎn)切。從本質(zhì)上講,AOP允許你將新的功能引入對象,而對象不需要擁有任何有關(guān)引入的知識。

    面向方面軟件開發(fā)(AOSD)是軟件開發(fā)的新方法,它要解決其他方法(如面向?qū)ο蟪绦蛟O(shè)計(jì))中固有的局限性。AOSD通過提供系統(tǒng)的識別、分離、表示和組合等方法,目的是要解決橫切關(guān)注。橫切關(guān)注被封裝在其他的模塊中,稱作方面,從而可以促進(jìn)本地化。這就帶來了對模塊化的更好支持,因此降低了開發(fā)、維護(hù)和升級的成本。

    下面是在面向方面程序設(shè)計(jì)時(shí)常用的一些術(shù)語:

    方面(Aspect)

    方面是與一個(gè)程序的具體特性有關(guān)聯(lián)的子程序。當(dāng)特性改變時(shí),就會影響到整個(gè)程序。方面子程序用作一類稱作方面編織器的新編譯器的一部分。

    方面是一個(gè)與類相似的結(jié)構(gòu),用于解決橫切類的關(guān)注。方面可以包含方法和屬性、擴(kuò)展其他的類或方面以及實(shí)現(xiàn)接口。

    AOP的方面將告知和點(diǎn)切引入功能單元,與面向?qū)ο蟪绦蛟O(shè)計(jì)使用類來包裝屬性和方法很相似。

    AspectC++

    對C++編程語言的面向方面的擴(kuò)展。

    AspectJ

    對Java編程語言的面向方面的擴(kuò)展。

    忠告(Advice)

    在滿足某些條件后運(yùn)行的程序代碼。忠告允許你透明地將諸如登錄和規(guī)格等應(yīng)用于對象模型。

    關(guān)注(Concern)

    以一種代碼結(jié)構(gòu)實(shí)現(xiàn)的或者尚未實(shí)現(xiàn)的系統(tǒng)中所必需的某些功能或要求。關(guān)注的范圍上至高級的概念(如安全和服務(wù)質(zhì)量)、下至低級的概念(如高速緩存和普通緩存)。它們可以是功能性的,像特性或商業(yè)規(guī)則,或者是系統(tǒng)性的,如同步和交易管理。

    橫切(Crosscutting)

    如果與兩個(gè)關(guān)注有關(guān)的方法相交叉了,那么這兩個(gè)關(guān)注就橫切了。通過應(yīng)用相同的代碼,方面橫切了傳統(tǒng)的類和方法邊界。

    截取器(Interceptor)

    用于實(shí)現(xiàn)JBoss 4.0中的忠告,JBoss 4.0是一種流行的Java應(yīng)用服務(wù)器。

    引入(Introduction)

    將方法或?qū)傩约拥揭延蓄惿系姆绞?,或者將多個(gè)繼承帶到普通的Java類上,或者將新的API(應(yīng)用編程接口)連到已有的對象模型。用于JBoss

    4.0。

    連接點(diǎn)(Joinpoints)

    程序執(zhí)行中可以加入增強(qiáng)行為或附加上行為的點(diǎn),即鉤子。例如,連接點(diǎn)能定義對類中特定方法的調(diào)用。

    點(diǎn)切(Pointcuts)

    指定連接點(diǎn)和收集這些點(diǎn)上具體的上下文的程序構(gòu)建。在AOP中,點(diǎn)切定義你的模型中的這些點(diǎn),在這些點(diǎn)上應(yīng)用忠告。

    編織(Weave)

    按照提供的一些標(biāo)準(zhǔn)將不同的執(zhí)行邏輯段組裝編譯在一起,從而將一個(gè)關(guān)注裝入一個(gè)進(jìn)程。 元數(shù)據(jù)(Metadata)

    附加的信息,能在靜態(tài)或者運(yùn)行時(shí)加到類上或者對象的給定事例中。元數(shù)據(jù)在編寫真正的通用方面時(shí)有幫助,這種方面能應(yīng)用于任何對象,但程序邏輯需要知道類特定的信息。

    更多信息請查看職場商務(wù)
    下一篇:何為Java?
    易賢網(wǎng)手機(jī)網(wǎng)站地址:計(jì)算機(jī)專業(yè)時(shí)文選讀(971)
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2025國考·省考課程試聽報(bào)名

    • 報(bào)班類型
    • 姓名
    • 手機(jī)號
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專用圖標(biāo)