Archives by Tag 'oop'
My paper MIMECORA-DS added as LNCS at SpringerLink
I’m proud to announce that my paper A Collaborative Support Approach on UML Sequence Diagrams for Aspect-Oriented Software was added as lecture notes in computer science at SpringerLink.
At this paper it is presented an extension based on the default UML meta-model, named MIMECORA-DS, to show object-object, object-aspect and aspect-aspect interactions applying the UML’s sequence [...]
The Fan programming language
Cedric has showed us an interesting programming language called Fan, which has a lot of useful features. The ones I liked most are:
Familiar Syntax: Java and C# programmers will feel at home with Fan’s curly brace syntax.
Concurrency: Tackle concurrency with built-in immutability, message passing, and REST oriented transactional memory.
Static and Dynamic Typing: Don’t like the [...]
Why not design patterns?
Some months ago, Cedric has reported people criticizing the use of design patterns on software projects, with some arguments like:
“it’s a sign that your language is fundamentally broken”
“focus on simpler solutions before going straight to a complex recipe of design patterns”
and other funny things also. Moreover, some said design patterns was inspired in Cristopher Alexander’s [...]
Do you need closures in Java?
TheServerSide has raised a question about whether closures proposals to be implemented in the Java language are really necessary. In my opinion, I think the Java language must be as it is, because:
Generics syntax introduced in Java 1.5 are very difficult to understand and parse when code is read; mixing it with closures will keep [...]
About Refactoring
From Objects First With Java’s book: “Refactoring is the activity of restructuring an existing design to maintain a good class design when the application is modified or extended. Doing good refactoring is as much about thinking in a certain mindset as it is about technical skills. While we make changes and extensions to applications, [...]
SRP Example – Bowling Game
Browsing Uncle Bob’s blog, I’ve found this interesting post about teaching TDD with a practical example. It tries to show the principles of TDD while implementing a bowling game. A class diagram showing the mainly concepts of the game is presented. Here it is (click on the thumbnail to see a larger image):
Some Java code [...]
Applying the Law of Demeter
Have you ever been told about the Law of Demeter when developing object-oriented systems? This law states the following:
More formally, the Law of Demeter for functions requires that any method M of an object O may only invoke the methods of the following kinds of objects:
itself
its parameters
any objects it creates/instantiates
its direct component objects
In particular, an [...]