Design patterns for user interfaces have become numerous and somewhat ambiguous. Precise and up-to-date descriptions and distinct advice are hard to find. But there is a best practice, at least for large enterprise systems based on JSF (and similar view frameworks) if a tool for automated view tests is available: Supervising Controller. The adoption of this pattern leverages the data binding facilities and keeps controller and view very compact. Only the view implementation becomes dependent on view technology. This article will describe all elements of the pattern and the interaction in detail. And I will explain advantages and disadvantages over other patterns.
Wednesday, January 18, 2012
Supervising Controller as Design Pattern for JSF and other View Frameworks with Data Binding Facilities
Sunday, March 6, 2011
Imagine a perfect world of tool usage: Every developer would use the same tools and identical tool configuration. To achieve this smoothly, every setup step should be automated. But when a team uses m2eclipse, the project configuration is not under version control. Instead, files like .project, .classpath and the .settings directory are generated upon checkout. m2eclipse uses definitions from pom.xml to derive the Eclipse configuration. I will introduce an approach how an organization can modify and extend this automatic configuration for its needs. This is the final chapter of a three post series. Last times, I presented how seamless integration of Maven and Eclipse significantly contributes to code quality and why project configurators do not yet accomplish this perfectly.,
Wednesday, February 16, 2011
m2eclipse offers the projectConfigurator extension point to support integration between Maven and Eclipse plugins. But not many Eclipse plugins make use of it yet. Neither the PMD Eclipse plugin nor the Checkstyle Eclipse plugin integrate as project configurator with m2eclipse. That’s why third party plugins like m2e-extensions and m2e-code-quality were developed. This is the second post of a three part article. In the first post, I pointed out how seamless integration of Maven and Eclipse significantly contributes to code quality. Here, I will describe what m2e-extensions and m2e-code-quality offer and why they were not my choice. Finally, in post three, I will share my current best practice for the project configuration - taking account of the requirements in enterprise software development.
Wednesday, February 9, 2011
Fail early! That's the best way to minimize development effort. To achieve this, every developer in a project should use the same build configuration as the continous integration server. His local build should use identical settings and should mandatorily execute unit tests and static code analysis. The rulesets for Checkstyle, PMD and FindBugs should automatically be the same under Maven on the command line and under Eclipse. But the problem is: Eclipse, m2eclipse, Maven and the plugins are still on their way towards a seamless integration. This is this first post of a three part article. It describes the overall setup and the official approach using a project configurator. In the second post, I will point out how third party plugins step into the breach, but why they were not my choice. Finally, in post three, I will share my current best practice for the configuration - taking account of the requirements in enterprise software development.
Sunday, January 16, 2011
In this blog I want to provide comprehensive and useful articles. To achieve this, I will only post from time to time. You will not find regular updates on my thoughts and activities here.