Pragmatic Development in .NET

Pragmatic Development in .NET

Patterns and Best Practices in .NET

23 March 2005 (14-21)
Location: Sofitel Diegem (Diegem near Brussels (Belgium))
Presented in English by
Price: 480 EUR (excl. 21% VAT)

This event is history, please check out the List of Upcoming Seminars, or send us an email

Check out our related in-house workshops:

 Learning Objectives

Why this seminar?

Microsoft .NET is the fastest growing development platform at the moment and probably for some years to come. Gartner estimates that in 2005 about 40% of all projects will be run with the .NET platform. As a partner at Ordina specialized in system development, Sander Hoogendoorn has started using and exploring .NET from its early days.

  Also have a look at:

Pragmatisch Modelleren met UML, a 2-day, highly interactive workshop by Sander in Dutch for max 20 participants, April 27-28

SMART, a development method Sander laid the foundations for, was used in the first .NET projects in the Netherlands. This knowledge and experience resulted in this one-day seminar, where Sander will present a variety of patterns, development ideas and best practices. Patterns are being taken from Gamma and Fowler, but also from Sander Hoogendoorn's book “Pragmatisch modelleren met UML 2.0” (Dutch edition only so far). And of course the seminar will be illustrated with code samples and demos from real-life applications.

Who should attend this seminar ?

Software-architects, designers, senior developers en framework developers will gain a lot of inspiration by this seminar.
It does not focus on .NET as a technology, but rather on how to use .NET in a pragmatic way in your projects. The seminar offers a wealth of ideas you can use in your own team or organization and will help in writing (web) applications more effectively, cleanly and productively.

Sander Hoogendoorn will discuss

  • requirements and use cases,
  • designing an application architecture,
  • web user interfaces,
  • user controls,
  • implementing use cases,
  • dealing with business logic,
  • the relationship between business logic and the database
  • ... and setting up namespaces.

 Full Programme

13.30h - 14.00h
Registration and coffee/tea
Start of the seminar

1. Requirements and use cases

  • Modelling in UML
  •   Also have a look at:

    Pragmatisch Modelleren met UML, a 2-day, highly interactive workshop by Sander in Dutch for max 20 participants, April 27-28

    What are use cases?
  • How do I design use cases?
  • Use cases as work units in projects

2. Application architecture

  • N-tier application architectures
  • A model n-tier architecture, illustrating:
    • The user interface
    • Use cases and tasks: how to implement use cases?
    • Business classes and factories: how to organize business logic?
    • Data classes and databases. How to access the database?
  • Development guide and scenarios for an application architecture in .NET

3. Efficient user interface development

  • Modeling the user interface
  • How to design generic UserControls? Generic menus. Singles and Lists.
  • Avoiding URL’s in code? Using page controllers.
  • Routing requests with the router pattern.
  • Binding DataSets to Controls and DataGrids in a pragmatic way? The plugin pattern.
  • Controls on Pages or UserControls? The visitor pattern.
  • Styling your web pages without writing code? Dynamic styling using stylesheets.

4. Implementing use cases

  • Application controllers. Use case implementation using tasks.
  • What is the task pattern ? And what is the template method pattern?
  • A task's responsibilities.
  • Reusing use cases: task factories and generic tasks.

5. Business classes

  • Where to put business logic? An introduction to business classes.
  • Commonly used patterns in business class development.
  • Domain model and table module.
  • The SMART factory pattern. Powerful business classes.
  • Static factories and business classes: how do they interoperate? The template method revisited.
  • Business classes and properties. Performing validation using reflection.
  • How do business classes attain data ? The identity pattern.

6. Data classes and the database

  • DataSets as a means of transport for data.
  • Generating primary keys: object identifiers, mechanisms and Guids.
  • Useful extensions of datasets. Datatables, dataviews and datarows.
  • How to implement data classes? What responsibilities do data classes have?
  • Types of Data Classes and Dynamic Caching
  • The Query pattern. An SQL statements generating utility.
  • The StoredProcedure pattern.
  • Connecting to databases dynamically
  • Performing updates without writing code

7. Namespaces

  • How does application architecture relate to namespaces?
  • Namespaces and dependencies
  • Useful metrics while organising namespaces
  • How to avoid circular dependencies between namespaces?

8. Summary and conclusions

End of this seminar


Sander Hoogendoorn (Capgemini)

In his role of Principal Technology Officer and global agile thought leader at Capgemini, drs. ing. Sander Hoogendoorn is a software development enthusiast, appreciated author and an internationally renowned speaker. He is constantly involved in the innovation of software development processes, techniques, architectures, patterns and technology, both at Capgemini and with many international clients.

Sanderís expertise ranges from (agile and non-agile) software development methodologies, software architecture, design patterns, object orientation, component-based development, anti-patterns, business process and software modeling, UML, model driven software development, .NET, Java and software development tools.

Sander has coached many organisations and projects, has written books on UML and agile software development, and published over 200 articles in international magazines. Sander is a member of Microsoft's Partner Advisory Council for .NET and several other editorial and advisory boards, and he is the chief architect of Capgemini's agile software development platform Accelerated Delivery Platform (ADP).

Sander's book "Dit is Agile - Van Introductie tot Implementatie" is a European bestseller, and has been translated into German and English: "This is Agile: Beyond the basics. Beyond the Hype. Beyond Scrum."

Sander maintains a blog and a collection of his publications at

Questions about this ? Interested but you can't attend ? Send us an email !