日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

The three kinds of aspect configuration

系統 2156 0

原文: http://jroller.com/page/rickard/20050605#the_three_kinds_of_aspect

As I look through our aspect configuration I notice that there is a distinct pattern throughout. The configuration, some of which is XML and some of which is provided by Java source code, can be divided into three kinds.

The first kind is the configuration about a single aspect. It defines the aspect, be it an advice or introduction, and declares its relationship with the world. Its dependencies and what it provides. What goes in and what comes out.

The second kind is the configuration that declares how different aspects should relate in a specific system. It imports aspects, declares precedence between them, and how they should be grouped depending on annotations and what interfaces specific objects implement. What goes in and what comes out. But on a higher level.

The third kind is the configuration that describes specific classes, or "sets of objects". It defines the introductions applied to particular classes, which in a cascading fashion will also determine to some degree what advice will be added. Introductions can be added on a very granular basis, i.e. to a specific class, or to sets of classes, like a package.

The first kind forms the atoms of an AOP application. The smallest lego blocks available. The second kind determines the rules for how the atoms form together into molecules; the natural laws so to speak. These become the building blocks of real structures, and depending on how they are formulated you get different orders of stability, flexibility and/or chaos. The third kind is the actual application, as it is perceived by clients of it, and hence it can be extremely varied.

In terms of reusability the first kind of configuration is extremely reusable as each individual aspect make minimal assumptions about how they are used, even though "minimal" can be quite substantial in some cases. The second kind is less reusable since it imposes assumptions about what set of aspects need to be available for its "laws" to function properly. This is because the second kind is what it responsible for describing how aspects interact, and if some of them cannot be used for some reason the laws suddenly don't behave as they were intended. The third kind is even less reusable as it makes a lot of assumptions about what is available, and the configuration is rather specific in terms of what the end result is supposed to do.

The resulting components adhere to a strictly defined behaviour (depending on the quality of the second kind of configuration, of course), which can be used by other components, and even individual aspects. In this sense, even though everything is separate, they are also inherently intertwined in a symbiotic fashion where it is difficult to separate one from the other.

By acknowledging that there are different kinds of configuration it is possible to introduce a degree of order into an AOP application. Everything is not equal, everything is not the same, which is what gives the developer a possibility to ensure that any new aspect (s)he creates fits into an existing system in a non-disruptive manner.

Harmony follows and everyone is happy.

The End.



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=388536


The three kinds of aspect configuration


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 旬阳县| 酉阳| 贵阳市| 和田县| 镇江市| 横峰县| 始兴县| 佳木斯市| 竹北市| 大余县| 大同县| 平远县| 顺平县| 遂平县| 肃南| 乌拉特中旗| 驻马店市| 墨竹工卡县| 荥阳市| 昆明市| 凌海市| 新宁县| 鹤峰县| 名山县| 吴忠市| 巴楚县| 嘉兴市| 祁阳县| 宁波市| 舟山市| 淮北市| 佳木斯市| 伊春市| 博乐市| 北碚区| 高淳县| 青铜峡市| 剑河县| 涟源市| 静海县| 合江县|