Alejandro Gervasio is a senior System Analyst from Argentina who has been involved in software development since the mid-80's. He has more than 12 years of experience in PHP development, 10 years in Java Programming, Object-Oriented Design, and most of the client-side technologies available out there.
Alejandro's articles
![Using Java Bean Validation for Method Parameters and Return Values](https://uploads.sitepoint.com/wp-content/uploads/2017/05/1493734029java-bean-validation-method-calls-interceptors.jpg)
Validate arguments and return values of methods and constructors with Bean Validation's ExecutableValidator and automate it with Java EE interceptors.
![Three Design Patterns That Use Inversion of Control](https://uploads.sitepoint.com/wp-content/uploads/2017/03/1490682552inversion-of-control.jpg)
Inversion of control is not just dependency injection - the observer and template method patterns use it as well. Study all three to become an IoC expert!
![Validate Object Graphs with Java Bean Validation’s @Valid Annotation](https://uploads.sitepoint.com/wp-content/uploads/2017/04/1491815780object-graph-validation-with-valid.jpg)
Use Java Bean Validation's @Valid Annotation for validating entire object graphs with one method call.
![Java Bean Validation’s validateProperty() and validateValue() in Three Minutes](https://uploads.sitepoint.com/wp-content/uploads/2017/04/1491753500JavaBean-Validation-validateProperty-validateValue.jpg)
Use the Java Bean Validation methods validateValue() and validateProperty() to independently check fields of a target class or even their potential values.
![Using CDI/Weld to Inject JPA/Hibernate Entity Managers](https://uploads.sitepoint.com/wp-content/uploads/2016/12/1482921744cdi-weld-jpa-hibernate.jpg)
A tutorial on how to use Contexts and Dependency Injection (CDI) / Weld and Hibernate in the development of a full-blown JPA application.
![Introduction to Contexts and Dependency Injection (CDI)](https://uploads.sitepoint.com/wp-content/uploads/2016/12/1481201291syringe-cdi-dependency-injection-weld.jpg)
A tutorial on how to use Contexts and Dependency Injection (CDI) and Weld in Java SE, covering core features like annotations, qualifiers, and producers.
![Effective Domain Model Validation with Hibernate Validator](https://uploads.sitepoint.com/wp-content/uploads/2016/10/1477480285Microscope.jpg)
A hands-on guide to domain model validation with the Java Beans Validation standard (JSR 303) and Hibernate Validator (Apache BVal is very similar.)
![Building a Web App with Java Servlets](https://uploads.sitepoint.com/wp-content/uploads/2016/10/1475909933server-cogwheel.jpg)
This tutorial builds a simple Java web application with Java's Servlet API. It shows how to set the project up, create views / controllers, and deploy.
![A Hibernate Introduction – Persisting Java Objects the Easy Way](https://uploads.sitepoint.com/wp-content/uploads/2016/09/1474531162hibernate-intro.jpg)
JPA/Hibernate is a common approach to persistence in Java. This tutorial creates a simple CRUD app using Hibernate's EntityManager and the DAO pattern.
Although the "Dependency Injection = Inversion of Control" equation can generally be considered valid, the concept of IoC is actually much broader.
See how refactoring your code to adhere to the the Single Responsibility Principle can help you write more robust, less fragile software.
Learn about the Open/Closed Principle and how it can help you build more robust, extensible systems.
The Law of Demeter is a powerful paradigm whose goal is to promote the implementation of highly-decoupled application components by eliminating unnecessary mediators.
Learn how the Null Object design pattern takes advantage of polymorphism to reduce the tangled checks for null values all throughout your client code.
Learn why implementing different constructors in a class hierarchy doesn't violate the Liskov Substitution Principle.
Learn how the Template Method design pattern uses inheritance to selectively override algorithms by subtypes while keeping common logic safely encapsulated.
Read Subtype Polymorphism - Swapping Implementation at Runtime and learn with SitePoint. Our web development and design tutorials, courses, and books will teach you HTML, CSS, JavaScript, PHP, Python, and more.
This is part 2 of the series PHP Master, Patterns for Flexible View Handling by the author Alejandro Gervasio.
Read Patterns for Flexible View Handling, Part 1 – Working with Composites and learn with SitePoint. Our web development and design tutorials, courses, and books will teach you HTML, CSS, JavaScript, PHP, Python, and more.
Read An Introduction to the Front Controller Pattern, Part 2 and learn with SitePoint. Our web development and design tutorials, courses, and books will teach you HTML, CSS, JavaScript, PHP, Python, and more.
Tunneling requests with a front controller through a single API entry point is an efficient way to implement a command-based mechanism.
Read Reusing Implementation – a Walk-through of Inheritance, Composition, and Delegation and learn with SitePoint. Our web development and design tutorials, courses, and books will teach you HTML, CSS, JavaScript, PHP, Python, and more.
Read The Layer Supertype Pattern: Encapsulating Common Implementation in Multi-Tiered Systems and learn with SitePoint. Our web development and design tutorials, courses, and books will teach you HTML, CSS, JavaScript, PHP, Python, and more.
This is part 2 of the series discussing how to manage class dependencies, now focusing on the Service Locator pattern and Dependency Injection Containers.
Read Managing Class Dependencies: An Introduction to Dependency Injection, Service Locators, and Factories, Part 1 and learn with SitePoint. Our web development and design tutorials, courses, and books will teach you HTML, CSS, JavaScript, PHP, Python, and more.
Read Decoupling Interfaces from Implementation - Using Separated Interfaces and learn with SitePoint. Our web development and design tutorials, courses, and books will teach you HTML, CSS, JavaScript, PHP, Python, and more.
Read Implementing a Unit of Work - Handling Domain Objects through a Transactional Model and learn with SitePoint. Our web development and design tutorials, courses, and books will teach you HTML, CSS, JavaScript, PHP, Python, and more.
Read Handling Collections of Aggregate Roots – the Repository Pattern and learn with SitePoint. Our web development and design tutorials, courses, and books will teach you HTML, CSS, JavaScript, PHP, Python, and more.
Read The Dependency Inversion Principle and learn with SitePoint. Our web development and design tutorials, courses, and books will teach you HTML, CSS, JavaScript, PHP, Python, and more.
Read An Intro to Virtual Proxies, Part 2 and learn with SitePoint. Our web development and design tutorials, courses, and books will teach you HTML, CSS, JavaScript, PHP, Python, and more.