... newer stories
Tuesday, 19. September 2006
MVP revisited
jlink, 10:56h
In one of my early postings I introduced the model view presenter pattern as a feasible way to implement testable GUIs. Later I showed how you can easily apply the MVP style to Ajax applications using the JayJax framework.
In my description of MVP and presentation model I (over)simplified a bit about the many subtleties that come with those patterns. This was partly due to my endeavour for comprehensibility and partly due to my ignorance. When I revisited my postings a couple of weeks ago I found that one of my major sources for those GUI related patterns, namely Martin Fowler's Further Patterns of Enterprise Application Architecture had undergone a significant change in this respect.
To cut a long story short, Martin goes into quite some details about the history of MVP, its relation to other MVC derivates and MVP's two main flavours: The flavour I propose is basically the Passive View taken to extremes. This variant has been around for a while called the humble dialog box, a phrase coined by Michael Feathers in order to describe a GUI approach which lends itself well to test-driven development (TDD). Martin Fowler puts it like this:
In my description of MVP and presentation model I (over)simplified a bit about the many subtleties that come with those patterns. This was partly due to my endeavour for comprehensibility and partly due to my ignorance. When I revisited my postings a couple of weeks ago I found that one of my major sources for those GUI related patterns, namely Martin Fowler's Further Patterns of Enterprise Application Architecture had undergone a significant change in this respect.
To cut a long story short, Martin goes into quite some details about the history of MVP, its relation to other MVC derivates and MVP's two main flavours: The flavour I propose is basically the Passive View taken to extremes. This variant has been around for a while called the humble dialog box, a phrase coined by Michael Feathers in order to describe a GUI approach which lends itself well to test-driven development (TDD). Martin Fowler puts it like this:
The Humble Dialog Box [...] uses a presenter, but in a much deeper way than the original MVP. Not just does the presenter decide how to react to user events, it also handles the population of data in the UI widgets themselves. As a result the widgets no longer have, nor need, visibility to the model; they form a Passive View, manipulated by the presenter.By the way, check out Michael Feathers' weblog which will give you many insights into the subtleties and strengths of test-driven development. Michael is one of the pioneers in the field and has challenged one of the most difficult aspects of TDD in a great book: Working Effectively with Legacy Code.
... link
Wednesday, 6. September 2006
Everything. Everyone. Everywhere. Ends.
jlink, 11:57h
I've stolen the title from one of the best TV shows ever: Six Feet Under. Although "Everything ... Ends" sounds like a truism, the way and speed at which things sometimes do end surprises me...
Being an IT consultant is sometimes hard. Customers often expect the utmost flexibility as for the time you invest in your current project -- flexibility being a euphemism for "working as much as necessary at the necessary time". The recurring problem is that the exact terms of necessary are never being spelled out, let alone negotiated with the consultant. It's taken for granted that the daily rate - despite having eight hours per day in the contract - comprises anything and everything and your soul on top.
Well, you don't have to give in to the customer's pressure by obvious expectation, but I wonder how many customers will "set you free" regardless of your competence and your contributions to the project if your availability time-wise cannot keep-up with the expectance. It happened to me recently -- although this particular customer would rate my contributions differently, I guess.
In the aftermath of this incident I tried to rethink and re-evaluate what makes my personal work life balance sane and sustainable. The result of this careful consideration was probably as surprising to me as it was to my employer: I quit my job more or less overnight.
Summary: I am available for software development and alike.
Being an IT consultant is sometimes hard. Customers often expect the utmost flexibility as for the time you invest in your current project -- flexibility being a euphemism for "working as much as necessary at the necessary time". The recurring problem is that the exact terms of necessary are never being spelled out, let alone negotiated with the consultant. It's taken for granted that the daily rate - despite having eight hours per day in the contract - comprises anything and everything and your soul on top.
Well, you don't have to give in to the customer's pressure by obvious expectation, but I wonder how many customers will "set you free" regardless of your competence and your contributions to the project if your availability time-wise cannot keep-up with the expectance. It happened to me recently -- although this particular customer would rate my contributions differently, I guess.
In the aftermath of this incident I tried to rethink and re-evaluate what makes my personal work life balance sane and sustainable. The result of this careful consideration was probably as surprising to me as it was to my employer: I quit my job more or less overnight.
Summary: I am available for software development and alike.
... link
Wednesday, 21. June 2006
XP Day Germany 2006
jlink, 23:05h
Having a new job, a new marriage and an old private life makes time a scarce resource; especially when it comes to full days or even a couple of days to invest in conferences and preparing sessions for them. So I decided to attend only two software events this year:
The conference will be held in Hamburg, sessions will be in German and in English. Lots of agile pundits and practitioners will be present and I recommend you to attend -- especially if you want to see (and hear) me stammer.
- JAX 2006 in May (already over)
- XP Day(s) Germany in November
The conference will be held in Hamburg, sessions will be in German and in English. Lots of agile pundits and practitioners will be present and I recommend you to attend -- especially if you want to see (and hear) me stammer.
... link
... older stories