An eternal Dilbert strip that is based on the tiny Here’s a nickel kid. Go buy yourself a real computer fragment from single.h:
#if _FP_W_TYPE_SIZE < 32
#error "Here's a nickel kid. Go buy yourself a real computer."
#endif
Posted by jpluimers on 2015/06/24
An eternal Dilbert strip that is based on the tiny Here’s a nickel kid. Go buy yourself a real computer fragment from single.h:
#if _FP_W_TYPE_SIZE < 32
#error "Here's a nickel kid. Go buy yourself a real computer."
#endif
Posted in *nix, ARM, Assembly Language, Delphi, Delphi 1, Development, Fun, Geeky, History, MS-DOS, Power User, Software Development, Windows, Windows 8.1, Windows 95, Windows NT, x86 | 2 Comments »
Posted by jpluimers on 2015/06/24
I’ve been doing Aspect Oriented Programming (AOP) in .NET for a long while, mostly using PostSharp LAOS as that was the first AOP .NET library I encountered (5 years ago it became PostSharp 2.0, now it is already at its 10th anniversary!).
AOP allows you to perform separate of concerns (SoC) in your application, especially in the area of cross-cutting concerns like for instance logging, authorization, monitoring, etc.
It took a while in Delphi to allow for AOP, but the TVirtualMethodInterceptor (that introduced in Delphi 2010) can be used to do AOP (only for Virtual Methods, which is still way better than having no AOP at all).
The code requires a lot of manual labor. so I was glad that DSharp (a great library by Stefan Glienke – one of the leading Spring4D contributors) contains a nice wrapper around TVirtualMethodInterceptor so you can use AOP in an attribute based fashion.
Nick Hodges recorded a good introductory video on AOP in Delphi with slides and demo code:
Note that besides DSharp, also MeAOP and Infra provided support for AOP in Delphi, but these haven’t had updates since 2010.
Posted in .NET, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 2.0, C# 3.0, C# 4.0, C# 5.0, C# 6 (Roslyn), Delphi, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Development, Software Development | Leave a Comment »