Validating sending mail messages in smart use case unit tests

When building applications with the Adf framework, smart use cases are implemented in task classes. Quite regularly mail messages are sent from tasks. To do so we use the MailManager class. Using this class mail messages are usually build up as in the following code example. To send mail messages, the MailManager plugs in an implementation of the IMailProvider interface. […]

A short notice about object relational mapping framework generated queries…

I guess object relational mapping is an accepted paradigm for exchanging data between an object oriented domain layer and underlying databases. For most applications object relational mapping is more than sufficient. And if not, perhaps command query responsibility segregation might contribute well to your solution. Being a more than frequent user, this very short blog post is not meant to […]

How Smart Use Cases Can Drive Web Development. Video for session at DevDays 2011 [in Dutch]

as the Channel 9 website says: using real-life code examples Sander will demonstrate how to model, generate and build smart use cases and introduce the positive impact smart use cases have on your layered software architecture. Anyway, here’s the video for my DevDays 2011 session:

A book on pragmatic software architecture, patterns and frameworks?

One of the major items on my wish list – that is on the professional half of it – is to write a book that displays my ideas on software architecture, patterns and frameworks. Yes I know, there are many books on software architecture, and there are many books that explain patterns, and yes there also are a lot of […]

Please vote for my Microsoft Mix 2011 proposals!

From April 12-14 the next edition of Microsoft’s MIX Conference will take place in Las Vegas. I’ve sent in two proposals for the Open Call. Today heard that both proposals made it through the first cut, which means they’re open for public voting (you don’t have to be registered). It would be great if you would cast your vote for […]

Simple little things. Issue commands using CommandName and CommandArgument in a GridView control

Handling events in ASP.NET is not always as straightforward as it seems. One particular pattern that often occurs is that there’s several items in a row in a GridView control that trigger commands. Now the GridView supports several standard commands such as Select and Delete, but what if you want to issue your own command? As an example, here’s my […]

November 12, 2010 – Microsoft TechEd Europe. How smart use cases can drive web development

[Session ARC205 at Microsoft TechEd Europe 2010 in Berlin] Use cases have been around for many years describing the requirements of software development projects. From a developer’s point of view, use cases are often seen as too abstract and too complex to develop code from. Until now, that is. During this interactive talk, speaker Sander Hoogendoorn will demonstrate how to […]

Simple little things. The 42 extension method anti-pattern

Extension methods are a powerful feature in .NET, and have been increasingly adopted by the developer community. Also, LINQ and other framework features rely heavily on extension methods. In fact, extension methods were originally invented to be able to implement LINQ without having to change a lot of .NET framework base classes. Basically, an extension method is implemented as a […]

Simple little things. Placing dynamic images in databound controls

Sometimes there’s these really little things that hardly seem worth the effect blogging about. But when you start googling for the apparent solution, there’s a million-and-one blogs, forum questions that at the least are contradicting. In this particular case I wanted to set different images in different rows in a Repeater or GridView depending on some property of the domain […]

Sander’s talk at TechEd US 2010. How frameworks can kill your projects and patterns to prevent getting killed

Last week, the Microsoft TechEd North America 2010 took place in the great city of New Orleans. I was lucky to be invited to do a talk on how frameworks can kill your projects. When it comes to Microsoft .NET-connected development, more and more frameworks enter the market. Both from Microsoft and from open source. Think of ASP.NET MVC, Castle, […]

Spring 2010 speaking engagements

Again doing a lot of talks this spring on a wide range of subjects, from new technology, via enterprise agile to model driven development, but also about smart use cases, domain driven design, UML, and software architectures, design patterns, frameworks and .NET. This season’s highlights? Not a difficult choice: doing talks both at Microsoft DevDays and TechEd North America is […]

October 19. Talk. “Do’s and don’t in implementing and applying extension methods”

SDC Conference, Papendal, Arnhem (www.sdc.nl) Next week the annual SDC conference will take place at Papendal, Arnhem. As usual the organising SDN community has put together a long list of international appraised speakers, and challenging subjects on the matter of software development and software architecture. A bit to my surprise, this year I was invited to do 3 talks, with […]

Writing better software faster

Published in my Interesting Things column in SDN Magazine, November 2009. Looking back on twenty years of software development, I must have spent most of that time trying to improve the quality and productivity of software development. Ever since I started to write small applications in Turbo Pascal in 1988 I got infected with the writing-better-software-faster virus. Right after I […]

Building better software faster (Utrecht, The Netherlands. September 2009. Keynote)

Customer event Capgemini, at Capgemini Papendorp. Together with a large customer Capgemini organizes a number of (non-public, sorry) knowledge sessions on Microsoft technology – aimed at developers, architects and project management. September 10 will be the first of those knowledge sessions, with talks on Microsoft Duet, Surface and Cloud / Azure. Preceeding those interesting stories I will do an opening […]

Pragmatic model driven development. Part I. Code generation scenario’s

Note. This series of posts is also published as a Capgemini group white paper and published in Software Release Magazine (in Dutch, in two parts). With the economy at a low point in time, organizations and project are clearly resetting their goals. Long term multimillion projects are being halted, in favor of short, agile projects, with feasible goals and good […]

June 2009

My talks in June 2009. June 3. Agile software development in everyday practice. Full-day seminar on doing agile projects for IT Works, Hotel Pullman, Diegem, Belgium. With guest speaker Stefaan van Royen, Mediamine. See www.itworks.be. June 9. Pragmatic .Net development. Full-day seminar on software architectures and patterns for .Net software development for Array Seminars, .NBC Nieuwegein. See www.arrayseminars.nl. June 15 […]

Highway to hell? DevTweet: @mariannerd and @aahoogendoorn review code

The following conversation between Marianne and me will be published as our DevTweet column of SDN Magazine, issue 102. Listening to Black Sabbath’s Master of Reality. @aahoogendoorn Look at you… new avatar! Is that an AC/DC shirt? @mariannerd Howdy partner! It is AC/DC all right. Your avatar new too? Something wrong with the old one? @aahoogendoorn Nope, just a change […]

Implementing smart use cases. Guest lecture at Hogeschool Arnhem Nijmegen

In the second half of last year, I did a guest lecture at the Hogeschool Arnhem Nijmegen (HAN) in Arnhem on an invitation by lecturer Rody Middelkoop. I’m sorry but I can’t remember the exact date – only that I had an upcoming flue. Although if was a Friday afternoon, the audience was good, about 60-70 lecturers and students. I […]

Navigating through the hypes, Software architectures and patterns to help avoiding your projects to crash – this year’s DevDays talk.

Good to hear that I’ve made the program of this year’s Microsoft DevDays. Will be a challenging talk on software architecture and patterns, titled just like this blog post. Here’s the description. Hope you like it. Navigating through the hypes, Software architectures and patterns to help avoiding your projects to crash When it comes to .Net software development, more and […]

Client/service architecture. Domain driven development in the distributed era. Episode IV

Go to episode three. Go to episode two. Go to episode one. In case you’re wondering why doesn’t this dude come to his point, you’ve probably missed it. I’ve made it already. The point is: you should always have a single point of truth, and at most have it reproduced on the server side. Which in most cases you don’t […]

Pragmatic model driven development in Java with smart use cases and domain driven design

In our Accelerated Delivery Platform we generate code from our standardized smart use cases and the domain model, using our Tobago MDA tooling. See www.accelerateddeliveryplatform.com for more details. In our daily practice we generate for a variety of architectures in the .Net space. For instance, we apply our own frameworks, or combine these with open source frameworks such as nHibernate, […]

Single point of truth. Domain driven development in the distributed era. Episode III

Go to episode two Go to episode one Client / server could have been a much more successful era in software development, if it wasn’t for this copy-and-paste programming, leading to applications that slowly became unmanageable. I have seen this anti-pattern occur in any of the popular client / server technologies. Without exception, whether it was Visual Basic, PowerBuilder or […]

The merits of two-tier architecture. Domain driven development in the distributed era. Episode II

Go to episode one. So now you’re stuck with this two-tier architecture. Is this a problem. Well, not yet. However, it can become a huge problem, and it has become a huge problem in many, many client / server applications, in a vide variety of technologies, including several types of (legacy) web application technologies. The truth is out there The […]

Back in the days of client/server. Domain driven development in the distributed era. Episode I

At this point in time, where we slowly shift from service orientation to cloud computing, building business software is more complicated then it has ever been. There are many platform that your software needs to target, and there are even more ways of writing the software. Beyond choosing technology Choosing a technology goes way beyond stating that you are doing […]

Application migration using smart use cases and a model driven development approach

Application migration is the process of migrating older applications (often referred to as legacy) to application that have more of less similar functionality, but are developed in newer technology. Application migration has proven to be a crucial but very hard part of software development over the years. Key to such projects is: Automated migration is hardly ever possible. It is […]

So much to write, so little time

It’s too bad there’s only 24 hours in a day. There are so many ideas in my head that I still have to write down, that I have to make a (short) list now to keep my head from exploding. So here it is: White paper on how to do agile SAP projects using smart use cases. Article on applying […]

Guest lecture Hogeschool Utrecht on implementing smart use cases in agile projects

On January 13 from 14:30 – 16:00 the Hogeschool Utrecht organizes a guest lecture by Sander Hoogendoorn, Principal Technology Officer at Capgemini. When asked who to invite for presenting a guest lecture, the students of the Hogeschool specifically requested for Sander. His lecture will be titled Implementing smart use cases in agile projects. Process, techniques, architecture and patterns. During this […]

Why do we need software architecture?

Over the past twenty or so years I have been involved in many software development projects, code reviews, and software factory implementations. Although I had stretched the virtues of good software architecture for decades, it wasn’t until a series of recent event, that I really started re-valuing of having a sound software architecture in place. And to me a well-defined […]

Sander Hoogendoorn at the DevDays 2008

Finally, after some experimenting we’ve got it. My team managed to put out the broadcast of my talk on everything and the kitchen sink on YouTube, and moreover, link from that. See the results here. Introduction The introduction part with some jokes in it. Software architecture, design patterns and smart use cases in code A brief introduction into software architecture […]

Talk on DevDays 2008 combining smart use cases, model driven development, software architecture, Silverlight and WCF

At the last Microsoft DevDays Conference (2008) in Amsterdam I did a talk (sorry, it’s in Dutch) that covered a lot of subjects, including software architecture, agile software development, dependency injection, domain modeling, smart use cases, Silverlight, WCF, model driven development, Tobago MDA, our Accelerated Delivery Platform and a lot of other stuff that I can’t remember (getting old). In […]

Core [in Dutch]

Het is maandagmorgen. Er schijnt een waterig zonnetje over Ede. Ik parkeer mijn auto op het parkeerterrein van de Reehorst dat verlaten oogt bij de start van de nieuwe werkweek. Ook vandaag is de Reehorst het toneel voor een Software Developers Event. Één sessie in het bijzonder heeft mijn interesse: Addressing non-functional requirements with aspects. Waarom nu juist deze sessie? […]

Smells of bad code [1]

Can’t help it. Looking at someone else’s code is just plain fun. Especially when it’s not that well architectured. It seems that I keep running into nice fragments of how not to code. Well, to be honest, my colleagues tend to help out, and send me all kinds of code examples. Have a look at the tiny fragment below. If […]

Mosaic

In the beginning in November, I was in Barcelona. Apart from the fact that the Microsoft TechEd took place there, Barcelona is obviously in itself a landmark. One of my favorite places in the metropolis is the Sagrada Familia, the famous temple by Antoni Gaudi. Frequently used as a metaphor for colossal and never ending type of software development projects […]

God Class

In Dutch. Appears in SDN Magazine, February 2008. Ik weet het nog goed, hoewel het twee jaar geleden was en mijn geheugen niet meer alles is. Mijn collega Wouter belde. Geschrokken. “Zoiets heb ik nog nooit gezien,” begint Wouter, mij nieuwsgierig makend. “Ik dacht dat we in Nederland toch wel aardig konden programmeren. Maar wat ik hier nu bij mijn […]

Implementing value objects in C#

Earlier this year I wrote an article on how to implement value objects (as mentioned by Martin Fowler en Eric Evans in their books, respectively Patterns of Enterprise Application Architecture and Domain Driven Design). It appeared in English in International Developer Magazine (from Australia), and was later translated into German to appear in ObjectSPECTRUM. Finally it now also features in […]

Barcelona!

Under normal circumstances Barcelona is a lovely city, where beatiful dark-haired and dark-eyed girls parade the small streets of Barri Gotic and El Raval, and tapas bars are overcrowded by locals and tourists trying to act as locals. But not this week. This week the conglomerate of Microsoft and Glasgow Rangers supporters pollutes the pavings. The latter are easy recognizable […]