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
Having nothing better to do on a rainy Sunday afternoon, I though I would catch up with the CleanCode CaseStudy Project, see how it's structured and what its connection to Clean Architecture and other concepts from Uncle Bob is. Here is what I found... Let's see the Code After cloning the project from github, the … Continue reading Screaming Architect