If you happen to create your own annotations, for instance to use with Java 6 Pluggable Annotation Processors, here are some patterns that I collected over time. Nothing new, nothing fancy, just putting everything into one place, with some proposed names.
Continue Reading »
Tags: annotation, configuration, convention, default, dependencies, design, pattern, syntax, tool, trick, xml
Posted in General, Patterns, Programming • Comments Off
Deciding where and how to place the annotations is not innocent. The last thing we want is to create extra maintenance effort because of the annotations. In other words, we want annotations that are stable, or that change for the same reasons and at the same time than the elements they annotate. This article suggests [...]
Continue Reading »
Tags: annotation, aop, architecture, c#, classdiagram, crosscuttingconcern, dependencies, design, domain, intent, intrinsic, java, location, pattern, Programming, stereotype, uml, use case
Posted in Programming • 1 Comment »
For tools to be aware of patterns, the patterns must be formalized, at least partially. At this point I must quote Gregor Hohpe to clarify my thoughts, as I strongly agree with his skipticism: Typically, when people ask me about « codifying » or « toolifying » patterns my first reaction is one of skepticism. Patterns are meant to [...]
Continue Reading »
Tags: abstraction, classdiagram, dependencies, design, intent, pattern, patternity, problem, Programming, sequencediagram, solution, tree
Posted in Patternity, Patterns, Programming • Comments Off
Patterns represent a couple (intent, solution); sometime they refer to a solution, more often they essentially represents an intent, independently of its solution. Sometimes the solution part of patterns includes a trick or a workaround to overcome the limits of a language, but patterns cannot be reduced to that trick. Indeed, a very important role [...]
Continue Reading »
Tags: convention, dependencies, design, intent, language, pattern, patternity, Programming
Posted in Patternity, Patterns, Programming • Comments Off
Low coupling between objects is a key principle to help you win the battle against software entropy. Making sure your dependencies are under control matters. Several tools can enforce dependencies restrictions, such as JDepend. However in a real project with many classes, packages and modules, the real issue is how to decide and configure the [...]
Continue Reading »
Tags: abstraction, analysis, dependencies, design, domain, interface, java, oo, pattern, patternity, Programming, research, tool
Posted in Patternity, Patterns, Programming • Comments Off
When a junior developer joins our team, it is interesting to realize how mastering language syntax and API is just a small part of the skills that matter. Just after the syntax and API knowledge (actually knowing where to find what you want in the API is enough), there are a few other skills you [...]
Continue Reading »
Tags: dependencies, education, methodology, Programming, refactoring, syntax, unittest
Posted in Programming • Comments Off