Software development technologies and trends are not particularly tangible things, yet we need to reason on them. At Arolla, the company I’m part of, we’ve designed an « ancient world map » of software development, as a cartography of the universe of software development we live in. Built for our own purpose, we also share it so [...]
Continue Reading »
Tags: agile, arolla, development, game, language, map, skill, software, technique, technology, tool, visualization, worldmap
Posted in Programming, Soft skills • 1 Comment »
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
In nature, out of every possible arrangement of several elements, only a few arrangements are stable. This is illustrated with atoms combined together, or smaller particles arranged together into atoms, where not every combination is sustainable. Unstable arrangements tend to move toward stable ones over time. Whenever you observe the elements, you mostly see stable [...]
Continue Reading »
Tags: abstraction, pattern, patternity, Programming, research, solution, tool
Posted in Patternity, Patterns, Programming • 1 Comment »
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
Composite patterns, such a the Bureaucracy pattern, are patterns built by the composition of other « smaller » patterns. However even usual design patterns can be considered composite patterns made of smaller subpatterns. The goal is therefore to find out which are the main subpatterns that enable to reconstruct as many design patterns as possible. The subpatterns [...]
Continue Reading »
Tags: classdiagram, combinatorial, java, oo, pattern, patternity, research, svg, tool, uml, variant, visual
Posted in Patternity, Patterns, Programming • 4 Comments »
As part of the Patternity effort, I spent some time creating a simple Java API to generate UML diagrams programmatically from Java, in SVG format. This small API called for now Patternity Graphic is working and available here: patternitygraphic_src as a source Zip (alpha release of course). It can render small class diagrams with hierarchic, [...]
Continue Reading »
Tags: api, classdiagram, java, library, patternity, sequence, svg, tool, uml
Posted in Patternity • 3 Comments »
After my initial attempt at doing something useful and automated around design patterns, I started working again on a brand new version of a pattern-aware tool: Patternity. No more code generation, the focus is now on the generation of documentation artifacts (UML class and sequence diagrams, reports, enhanced Javadoc…) from the source code annotated with [...]
Continue Reading »
Tags: automation, java, pattern, patternity, tool
Posted in Patternity • Comments Off
What do you think about when you hear the word « architecture » about software? Fowler defines it: whoNeedsArchitect « In most successful software projects, the expert developers working on that project have a shared understanding of the design system design. This shared understanding is called ‘architecture.’ ». However for most people the word « architecture » comes full of middleware [...]
Continue Reading »
Tags: architecture, convention, design, domain, management, methodology, refactoring, syntax, tool, unittest
Posted in Programming • Comments Off
I have experimented an approach that considers every design pattern as the recursive composition of smaller patterns. This led to a prototype tool to illustrate its benefits by generating design-level documentation of annotated source code. Eat your own dog food The source code of this tool itself was used as the code base to apply [...]
Continue Reading »
Tags: api, application, classdiagram, design, framework, oo, pattern, patternity, research, tool, uml, visualization
Posted in Patternity • 1 Comment »