473,395 Members | 1,869 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,395 software developers and data experts.

will any AOP features ever be added to VS.Net?

PJ6
I've done a lot of reading on AOP lately and have come to the conclusion
that for any elegant and simple AOP design pattern to be possible, the
Framework and compiler themselves need to be enhanced. Everything currently
available is either too clumsy (proxies) or downright dangerous (unmanaged,
direct IL manipulation through the profiler API). Both are also rather too
complicated for my taste.

I would suggest enhancing the compiler to automatically and transparently
proxy when methods or method calls are tagged with attributes that implement
a verb interface such as:

Public Interface IAOPVerbProvider
Function Execute(m as MethodInvocationContext) as Object
Readonly Property BeforeOrAfter as Precedence
End Interface

where MethodInvocationContext provides nonstatic method invocation
information such as parameter values.

This is the simplest way I can think of natively supporting AOP. It's just a
musing thought, but it makes me think it wouldn't be at all a strech to
implement. I have yet to read about any serious proposals for such a
feature - does anyone know if MS has any intentions to add any native AOP
support in the future?

Paul
May 30 '07 #1
3 930
For the benefit of the great unwashed, what the hell is AOP?
"PJ6" <no***@nowhere.netwrote in message
news:Ow***************@TK2MSFTNGP05.phx.gbl...
I've done a lot of reading on AOP lately and have come to the conclusion
that for any elegant and simple AOP design pattern to be possible, the
Framework and compiler themselves need to be enhanced. Everything
currently available is either too clumsy (proxies) or downright dangerous
(unmanaged, direct IL manipulation through the profiler API). Both are
also rather too complicated for my taste.

I would suggest enhancing the compiler to automatically and transparently
proxy when methods or method calls are tagged with attributes that
implement a verb interface such as:

Public Interface IAOPVerbProvider
Function Execute(m as MethodInvocationContext) as Object
Readonly Property BeforeOrAfter as Precedence
End Interface

where MethodInvocationContext provides nonstatic method invocation
information such as parameter values.

This is the simplest way I can think of natively supporting AOP. It's just
a musing thought, but it makes me think it wouldn't be at all a strech to
implement. I have yet to read about any serious proposals for such a
feature - does anyone know if MS has any intentions to add any native AOP
support in the future?

Paul
May 31 '07 #2
I am assuming that they mean:

http://en.wikipedia.org/wiki/Aspect-...ed_programming

Check this site out:

http://wwwse.fhs-hagenberg.ac.at/se/...lish_home.html
"Stephany Young" <noone@localhostwrote in message
news:%2****************@TK2MSFTNGP06.phx.gbl...
For the benefit of the great unwashed, what the hell is AOP?
"PJ6" <no***@nowhere.netwrote in message
news:Ow***************@TK2MSFTNGP05.phx.gbl...
>I've done a lot of reading on AOP lately and have come to the conclusion
that for any elegant and simple AOP design pattern to be possible, the
Framework and compiler themselves need to be enhanced. Everything
currently available is either too clumsy (proxies) or downright dangerous
(unmanaged, direct IL manipulation through the profiler API). Both are
also rather too complicated for my taste.

I would suggest enhancing the compiler to automatically and transparently
proxy when methods or method calls are tagged with attributes that
implement a verb interface such as:

Public Interface IAOPVerbProvider
Function Execute(m as MethodInvocationContext) as Object
Readonly Property BeforeOrAfter as Precedence
End Interface

where MethodInvocationContext provides nonstatic method invocation
information such as parameter values.

This is the simplest way I can think of natively supporting AOP. It's
just a musing thought, but it makes me think it wouldn't be at all a
strech to implement. I have yet to read about any serious proposals for
such a feature - does anyone know if MS has any intentions to add any
native AOP support in the future?

Paul

May 31 '07 #3
You could also search http://research.microsoft.com/ for AOP to see what
works they have done about this (thought it doesn't tell if and when it
would eventually surface in main stream).

Not related but I found http://research.microsoft.com/os/singularity/ to be
quite interesting...

--
Patrice

"PJ6" <no***@nowhere.neta écrit dans le message de news:
Ow***************@TK2MSFTNGP05.phx.gbl...
I've done a lot of reading on AOP lately and have come to the conclusion
that for any elegant and simple AOP design pattern to be possible, the
Framework and compiler themselves need to be enhanced. Everything
currently available is either too clumsy (proxies) or downright dangerous
(unmanaged, direct IL manipulation through the profiler API). Both are
also rather too complicated for my taste.

I would suggest enhancing the compiler to automatically and transparently
proxy when methods or method calls are tagged with attributes that
implement a verb interface such as:

Public Interface IAOPVerbProvider
Function Execute(m as MethodInvocationContext) as Object
Readonly Property BeforeOrAfter as Precedence
End Interface

where MethodInvocationContext provides nonstatic method invocation
information such as parameter values.

This is the simplest way I can think of natively supporting AOP. It's just
a musing thought, but it makes me think it wouldn't be at all a strech to
implement. I have yet to read about any serious proposals for such a
feature - does anyone know if MS has any intentions to add any native AOP
support in the future?

Paul

May 31 '07 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

53
by: dterrors | last post by:
Will php 6 do strong typing and/or namespaces? I was shocked to find out today that there are some people who actually argue that weak typing is somehow better. I didn't even know there was a...
90
by: Mark Hahn | last post by:
"Michael Geary" <Mike@Geary.com> wrote ... >Does anyone have some sample code where obj$func() would be used? > (Apologies if I missed it.) There have been so many messages about delegation...
2
by: JDevine | last post by:
Hey. I posted a info about a program I have written that uses google to get and download files by type and site. I need HELP!!! This program is finished except for 2 features which, having tried...
8
by: Soren Kuula | last post by:
Hi, everyone, I'm beginning work on my Master's thesis in computer science ... I will start out with a pretty advanced, not yet published algorithm for computing quite accurate control flow...
0
by: spamfurnace | last post by:
Will Whidbey have the features, of a girl i'd like to meet? Will Whidbey be easy to talk to, and rub my tired feet? Will Whidbey bats it eyes at me, and whisper "Baby, your so sweet". Will...
37
by: jasmith | last post by:
How will Access fair in a year? Two years? .... The new version of Access seems to service non programmers as a wizard interface to quickly create databases via a fancy wizard. Furthermore, why...
2
by: D | last post by:
I was toying around with assemblies, signing and adding them to the GAC. I was mistakenly thinking that if I added a console app to the GAC it could be run from anywhere (anywhere meaning as if the...
9
by: PengYu.UT | last post by:
Hi, I feel argparse has some useful things that optparse doesn't have. But I can't find it argparse in python library reference. I'm wondering when it will be available in the python standard...
15
by: Tony | last post by:
Will C ever have OO (any) as part of the std? Tony
5
by: bearophileHUGS | last post by:
I often use Python to write small programs, in the range of 50-500 lines of code. For example to process some bioinformatics data, perform some data munging, to apply a randomized optimization...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.