Java Records: Making Bad Designs More Convenient

There is an official JEP 359: Records (preview) that proposes to introduce "Records", i.e. pure data structures into Java. With it, Java continues to follow other contemporary languages into the territory of "multi-paradigm" programming. This article explores what this change means for object-orientation, Java development and our industry in general. Old Name Old Feature First … Continue reading Java Records: Making Bad Designs More Convenient

Data Boundaries are the root cause of Maintenance Problems

Many designs and patterns old and new, like the Layered Architecture, the Clean Architecture, the Hexagonal Architecture, DCI and others introduce data-oriented boundaries inside the application. Data-oriented boundaries are interfaces between architectural parts that primarily consist of data in the form of "properties" that can be freely accessed either directly, through getter methods, through reflection … Continue reading Data Boundaries are the root cause of Maintenance Problems

Reevaluating the Layered Architecture

The Layered Architecture (3-tiered, n-tier or multitier architecture) is one of the most known and used concepts in Enterprise Development. It is the de-facto standard for building applications, so much so that it would be hard to find a single application in the enterprise software realm that does not conform to it. Many things changed … Continue reading Reevaluating the Layered Architecture

5 Signs That Your REST API Isn’t RESTful

(This article is a repost of an article previously published on DZone) There is no doubt that the term REST has undergone significant changes since its inception by Roy Fielding. There was some resistance to this change, most notably from Mr. Fielding in his Untangled Blog. However, all those participating in this resistance have had … Continue reading 5 Signs That Your REST API Isn’t RESTful