In my career it took me some time to understand and be convinced of the importance of doing analysis. I still remember my first job experience, I just wanted to quickly write some code and refactor it n-times to get better results. Did not you? Things are different today and I am writing this post to share with you my ...
Read More »Home »
How to do Continuous Integration with Java 8, NetBeans Platform 8, Jenkins, Jacoco and Sonar
Intro Java 8 is there, the promised revolution is finally released, and I am sure that a lot of you are having in mind the same question “Should I use it in my project?”. Well, I had the same question for few months and today that I have an answer I would like to share it with you. A lot ...
Read More »Redundancy in Domain and Database Design
Introduction Design a domain can be a real challenge. A lot of bad practices can easily bring you to a bad design, and in most of the cases those issue will be discovered only after the advanced phase of business logic development. Fortunately there are several approaches and “philosophies” for good design, like Domain Driven Design by Eric Evans. What ...
Read More »Integrate AspectJ with NetBeans Platform Development
Are you developing your project using the NetBeans Platform? Are you willing to use AspectJ to use AOP? You do not know how to integrate the AspectJ compiler into the builds of NetBeans? If your answer is yes, this post is for you. I decided to write this technical post because I have been struggling some time before to find ...
Read More »Multilayered Architecture (5) – The Presentation Layer
Introduction The final piece of a MultiLayered Architecture, in term of development design and dependencies is the Presentation Layer. It has mainly the scope to create an Interface with the final User of the application. It can take the form of Desktop forms, Java Applet, Web application and any other possible solution provided by technologies. Interchangeability At this stage, if all ...
Read More »How design for testability can improve test automation capability
Introduction Testability refers to the capability of testing something. When this something is an IT solution, the most suited way of doing it is Automation. But is it always possible to automate test? If not, what are the reasons? And how can testability be improved? Test Categories A software is usually done to be used by a consumer, that could ...
Read More »Multilayered Architecture (4) – The Infrastructure Layer
Introduction What is Infrastructure? If we think at a building, Infrastructure is what brings light and water. You can build a wonderful house, but if you don’t connect it to the city infrastructures, you will never be able to live in it. Finally this building is able to receive water and light, but is not linked to any specific water ...
Read More »Multilayered Architecture (3) – The Application Layer
Introduction As Business Documents are considered the input for the Domain Layer, System Requirement Specifications are the main input document for the Application Layer. Scope of this layer is to provide an implementation of the defined requirements for the system. So it is easy to understand that most of the logic contained is process oriented and so linked to a ...
Read More »Code Refactoring vs Architecture Refactoring
Introduction Everybody knows the meaning of Refactoring; the base of Agile Programming, and the best way to continuously increase the code quality. But Refactoring is not always the same, two different categories can be defined: Code refactoring Architecture refactoring Code refactoring vs Architecture Refactoring The term Architecture Refactoring started to be used in the last years, bringing some confusion about its ...
Read More »