Archive

Posts Tagged ‘.NET’

Speaking at BASTA! in Mainz (Germany) on September 21st 2010

July 1st, 2010
Urs Enzler

I’m going to speak about code quality (see my short version of the presentation) at the conference BASTA!

BASTA! is mainly focused on .NET technology and gives you the opportunity to see and speak with a wide range of technology experts.

If you have any feedback of what you are missing in my short presentation, please write a comment here or on the post with the presentation. The short version takes about 30 minutes and my speak at BASTA! is scheduled for 1 hour and 15 minutes.  I will mainly show real life examples of the theory shown in the short version. But if you want to here something specific, ask for it :-)

I’ll probably will publish the long version on this blog, too – for all of you not joining the conference.

So long…

 

.NET, Agile, Announcement , , , ,

Clean Code and Clean TDD Cheat Sheets

June 22nd, 2010
Urs Enzler

I have compiled two cheat sheets about clean code (the ones mentioned in my post about Code Quality!).

The first covers clean code – code that is easy readable and keeps changeable. The second is about Test Driven Development. Both cheat sheets list principles, patterns, practices and smells.

You can download them now from the web site of my company – bbv Software Services AG: Clean Code, Clean TDD.

Take a look!

I’d like to read your feedback in the comments section…

Clean Code

(just an unreadable preview :-)    – click on link in text above)

 

.NET, Agile, Test Driven Development , , , , , ,

Hierarchical State Machine with Fluent Definition Syntax (.NET)

June 9th, 2010
Urs Enzler

The .NET component library bbv.Common (open source – Apache License 2.0) provides a powerful hierarchical state machine.

Its features are:

  • value type based (enums, ints, …) resulting in single class state machines.
  • actions
    • on transitions
    • entry and exit actions (parametrizable)
  • transaction guards
  • hierarchical
    • different history behaviours to initialize state always to same state or last active state
  • fluent definition interface
  • synchronous/asynchronous state machine
    • passive state machine handles state transitions synchronuously
    • active state machine handles state transitions asynchronously on the worker thread of the state machine
  • configurable thorough logging simplifies debugging using log4net (can be replaced easily with custom logging)
  • state machine report for textual description of state machine

read more

 

.NET, Software , ,

bbv.Common moved to Google Code

June 8th, 2010
Urs Enzler

bbv.Common – a .NET library containing components for

  • (a)synchronous loosly coupled event notifications (event broker),
  • hierarchical state machines,
  • active objects and asynchronous workers to build robust multi-threaded applications,
  • context based loosely coupled rule engines
  • and much more

has move from sourceforge.net to Google Code.

Check out the project at http://code.google.com/p/bbvcommon/

Join the discussion at http://groups.google.com/group/bbvcommon

 

.NET ,

Agile UI Development in .NET: Nested Views

January 2nd, 2010
Urs Enzler

Updated: Something went wrong with the code snippets. Now it’s okay.

Today, we”l have a look at nested views in my series on agile UI development in .NET using an extended MVVM pattern (table of contents).

There are two kinds of nested views:

  • contextually nested views and
  • hierarchically nested views (master-detail scenarios)

read more

 

.NET, Agile, Architecture , , , , ,

C# Coding Style Guidelines

November 28th, 2009
Urs Enzler

In the last couple of weeks, I ran over some posts about c# coding style guidelines, i.e. guidelines about how to arrange (style) your code. This normally includes things like where to put paranthesis, how fields are named (e.g. with/without _) and so on.

All these posts (no I don’t have the links anymore) had two things in common: read more

 

.NET , ,

Agile UI Development in .NET: Model Commands

November 2nd, 2009
Urs Enzler

In my series on agile UI development in .NET, we have seen quite a lot so far (table of contents). But up to now, we never made a call to the model (business logic, services and so on). This is the topic of this post: Model Commands.

A Model Command encapsulates a single action hat is execute against the model. This can be a query to request data, an action that modifies data, communication with a completely different part of the system or anything else your application has to do on the model.

read more

 

.NET, Agile, Architecture , , , , ,

Agile UI Development in .NET: Presenter

November 1st, 2009
Urs Enzler

Next in my series (table of contents) on agile UI development in .NET is the presenter. The presenter is responsible to drive the UI workflow. This means that the presenter is the control center to react to:

  • events from the model. For example that data has changed.
  • events from embedded presenters
  • calls from parent presenter
  • calls from UI commands

read more

 

.NET, Agile, Architecture , , , , ,

Agile UI Development in .NET: UI Commands

October 26th, 2009
Urs Enzler

In this post, we are going to have a look at UI commands. UI commands are responsible for reacting to user input, for example the send button click in the sample I use throughout this series of agile user interface development in .NET series. For other posts in this series look here: table of contents.

We have seen in the last post that the view binds a command to the send button that it gets from the view-model:

<Button Command="{Binding SendMessageCommand}" IsDefault="True">Send</Button>

read more

 

.NET, Administration, Agile , , , , ,

Agile UI Development in .NET: View

October 24th, 2009
Urs Enzler

Last time we started looking at sample code with the view-model class for the UI to send messages on channels (table of contents).

In this post, we continue with the next responsibility, the visualization.

The View

The view is responsible for visualizing the domain model to the user. We have seen in the last post that the view-model provides a simplified mini-model to the view. That means that the view does not have to care about the domain model as a whole with all its interactions and constraints. The view-model provides only the part of the domain model that is relevant to the current screen the user is seeing thus simplifying the job of the view.

read more

 

.NET, Administration, Agile , , , , ,