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
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
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
Writing code to make sure that input parameters are not null does not make Java code "safer", exactly the opposite, it makes code less readable and less safe. Code with null-checks is less readable It would be difficult to argue that null-checks are attractive. Most of the time it's just boilerplate code which contributes nothing … Continue reading Why I never null-check parameters
Creating packages, assigning classes to packages and creating a package hierarchy is usually not a top priority in software designs. This however presents a missed opportunity to make your design more readable and maintainable. This article helps you take your Java Class packaging skills to the next level, not just for the holiday season. Packages … Continue reading Happy Packaging!
(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