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
No, this post is not about mind altering substances, rather it is about how to deal with complexity in general and in software development in particular. All but the simplest problems that we face in software development exceed the capacity of our minds. Our short term memory can barely hold 7-8 items on a good … Continue reading Transcending the Limitations of the Human Mind