This article is the third part of the series of articles in this journal to
describe our Aspect.NET project – an aspect-oriented programming (AOP)
framework for Microsoft.NET based on a number of new ideas (for the first two
articles, see #4 and 5 in the References section). This article analyzes the
advantages of using AOP, presents the current status of Aspect.NET –
its design principles, its working version – and gives some practical
examples.
The evolution of software and the customers’ for it, as well as the
needs of the everyday fixing, update, and enhancement of software often lead
to poorly understandable and tangled code, with fragments of implementation
of quite different functionalities unclearly intermixed in the same software
modules.
The AOP approach allows you to define the implementation of crosscutting
concerns in separat... (more)
This article presents a new approach to aspect-oriented programming (AOP) -
an advanced programming paradigm and technology that supports the separation,
design, implementation, location, and updating of crosscutting concerns
implemented as aspects. The most common AOP tools - AspectJ, HyperJ, etc.,
contain a lot of AOP foundation ideas and useful features, but they are
focused on Java technology and are currently available as AOP extensions of
Java. My approach, on the other hand, takes full advantage of the .NET
architecture. It's based on the following principles: aspects for ... (more)
This article is devoted to my SPBU.NET educational project supported by
Microsoft Research in 2004 and accomplished in 2004-2005. The goal of the
project was to develop a complex of educational materials on Microsoft.NET,
compilers, software engineering, and operating systems, based on my 28 years
of teaching and R&D experience at St. Petersburg University. The results of
the project [1-6] are uploaded to the Microsoft Developer's Network Academic
Alliance Curriculum Repository (MSDNAA CR) Web site in the form of
presentations and lecture notes for four courses (in English) and m... (more)
Aspect-oriented programming (AOP) is a new programming paradigm that supports
software component reuse and modification. Each application can be regarded
as a collection of implementations of ideas or concerns.
Some concerns can be implemented as a programming module or a collection of
modules. We'll refer to these as modular concerns. Other concerns are
referred to as crosscutting concerns. They cannot be implemented by a set of
modules only but also require the addition of program fragments, usually
executable statements, to the modules implementing other concerns. Two
example... (more)
This article continues the series devoted to principles of teaching .NET and
other modern technologies. The first article described my SPBU.NET
educational project and the ERATO (Experience - Retrospective - Analysis -
Theory - Oncoming perspectives) teaching paradigm that I use in my courses
and seminars on .NET, compilers, software engineering, and operating systems,
parts of my SPBU.NET project supported by Microsoft Research in 2004.
In 2006, thanks to support from Microsoft Research, I started a new
educational project - TrustSPBU.NET. The goal of this project was to add
tr... (more)