Builder

Builder Design Pattern Logo

Builder is a creational design pattern which aims on decoupling the construction logic of a complex object from its representation.

Introduction

Sometimes an object construction can be complex, because of parameter validations, search of informations on files or database, or even for a large number of parameters the object’s constructor is waiting to receive. If you mix up the logic creational logic along the the class’s behavior logic, you may lose the class’s cohesion and can difficult its reuse.

Builder design pattern comes to solve this problem, putting both creational and behavioral logic on it right places, by providing enough encapsulation for object’s construction, in such a way you can even develop any number of different implementations for a single builder.

Continue reading

Design Patterns

Design Patterns Logo Image
Design patterns are a collection of abstract solutions to recurrent problems in object-oriented software development. These solutions are presented like templates that can be applied in many different situations and programming languages, but with similar structures, providing a design which contributes to system’s flexibility, extensibility, portability and code reuse.

Continue reading

Meeting Ruby

Ruby Logo

As a Java developer for four years long, I’ve always had the curiosity to learn a new object-oriented programming language. Given a great feedback I had from a job interview I went a few weeks ago, and some research on the international software development scenario, I’ve found out that mastering just one language may not be enough.

Specialists are well recognized at their fields of work on software development (and I seriously intend to become one on Java), but the business dynamism grows it’s requirements every day, consequently, requiring the most versatile professionals.

By the given experiences and observations, and following the path of lots of respected developers on the community along with some personal interest, I decided to finally put some serious time on studying a new language, then Ruby is the chosen one!

I’ve already read a lot about the language, however, I’m going to dedicate this post to a simple Hello World to not extend it so much.

Continue reading

Change Eclipse JRE Path

This tutorial will show how to change Eclipse JRE path, in order to force Eclipse to use the specified JVM.
This is a very useful approach if you need your Eclipse running over a different JVM than the one specified on your PATH environment variable, or even if this variable absent. Also, it is going to help you with portable JREs and to solve the No Java Virtual machine was found error.

Continue reading

Enable Wildfly remote access

This tutotial will show how to enable Wildfly remote access, so you can manage your application server remotely as you would at the local machine it is running on.

The Problem

I believe that everyone is very used to install Wildfly on your local machine running a operation system with GUI and a web browsers available. So, when you need to log on Wildfly’s administrative page at http://localhost:8080/ to manage your application server for, by example, adding users or adding datasources, everything works as expected.
However, if your Wildfly is running on a remote machine and you try to access your administrative page through the network by it’s IP address or hostname, let’s say, at http://54.94.240.170:8080/, you will probably see a graceful This webpage is not available error, in another words, Wildfly said “No, thanks, I’m not allowing requests from another guys than the ones at my local machine”.

Continue reading