Lahlali Issam

Subscribe to Lahlali Issam: eMailAlertsEmail Alerts
Get Lahlali Issam via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Top Stories by Lahlali Issam

According to the MVC definition from wikipedia: "Model View Controller (MVC) pattern creates applications that separate the different aspects of the application (input logic, business logic, and UI logic), while providing a loose coupling between these elements." But if we search for MVC frameworks we found many variants: MVC1, MVC2, MVC3, MVP, MVVM and PureMVC. The question is which one is the best to use? As with any debate like that, there's no unique solution as it depends on many factors. In this article we try using JavaDepend to discover PureMVC in-depth, and talk about the main difference between it and the other variants. PureMVC was popularized first by Flex and Flash developers, but it was ported after to many other langugages.The following GWT sample uses the Java PureMVC framework. Let's analyze it to explore PureMVC concepts. PureMVC Basic Concepts Her... (more)

The OSGi puzzle

OSGi became very popular thanks to its modularity approach and its ability to enforce logical boundaries between modules. When we discover it the first time, the question is where to begin to understand how it works? To understand OSGi concepts we will try to follow the puzzle approach. The idea is to begin with the trivial part of this technology, and search for other parts related to the found ones. And to assemble the puzzle we will be assisted by JArchitect that will be helpful to detect OSGi internal design. To be more concrete we analyze with JArchitect an application using OSG... (more)

Five Years Waiting for JRE 7: Is It Justified? (Part 1)

JRE 6 was released in 2006, five years after a major JRE version was released. For the past few years Java was looking stagnant, and many Java developers began to worry; this concern was amplified when Oracle purchased Sun. We will try to discover if there's a big refactoring or maybe many features were added that can explain the time span between these two releases. In this first part we will focus on design and implementation changes, and the second part will focus on added features and breaking changes. With JavaDepend we can compare two versions and detect any modifications ... (more)

Lessons to Learn from the Hibernate Core Implementation

Hibernate is an open source Java persistence framework project. Perform powerful object relational mapping and query databases using HQL and SQL. In general the widely used libraries are well designed and implemented, and it's very interesting to learn from them some coding best practices. Let's take a look inside the hibernate core library and discover some of its design keys. In this post Hibernate Core is analyzed by JArchitect to go deep inside its design and implementation. Package by Feature Package-by-feature uses packages to reflect the feature set. It places all items re... (more)

Abstractness vs Instability: A Neo4j Case Study

Robert C.Martin wrote an interesting article about a set of metrics that can be used to measure the quality of an object-oriented design in terms of the interdependence between the subsystems of that design. Here's from the article what he said about the interdependence between modules: What is it that makes a design rigid, fragile and difficult to reuse. It is the interdependence of the subsystems within that design. A design is rigid if it cannot be easily changed. Such rigidity is due to the fact that a single change to heavily interdependent software begins a cascade of chang... (more)