-
Negative consequences of bad interface design
Let’s back to article of ISP and take a this implementation: Let’s see how the implementation/classes will be used in code: We need to check what type of object is to invoke the method! Crazy. Even more crazy thing is to use polymorphism in that way: In both cases is not a true polymorphism and…
-
ISP principle
Interface Segregation Principle states: “A client should never be forced to implement an interface that it doesn’t use, or clients shouldn’t be forced to depend on methods they do not use.” It is a very powerful principle. Why? Because it forces a good design. In this post, we see what an ISP is, and in…
-
What interface should be
From wiki (definition + examples): “An interface in the Java programming language is an abstract type that is used to declare a behavior that classes must implement” Looks quite normal. Nothing unusual. But let’s look under the hood. The interface is defined sometimes as “is a” relationship – “is a” Predator. I see in projects a lot of/all interfaces called as “is a”/noun…
-
Finding business value using domain classification
To find the business value we can use domain classification proposed by Domain Driven Design. It classifies domains into: core domain makes the company business special it differs from other companies/competitors enables the company to earn (more) money This is the most precious domain in the company, so we should take care of it as…
-
Protected: Positive impact of contextual models on solution
There is no excerpt because this is a protected post.
-
Protected: One word many meanings – context intro
There is no excerpt because this is a protected post.
-
Protected: Model in the context
There is no excerpt because this is a protected post.
-
Negative impact of all-in-one model on the solution
Previous post All-in-one model shows what is all-in-one model and why is bad. At the end we mention that this big model/class causes a lot of troubles. Let’s see why. Imagine we are building software for selling products. The customer goes through below process steps to buy a product: The process steps most likely will…
-
Protected: All-in-one model
There is no excerpt because this is a protected post.
-
Protected: What is a model?
There is no excerpt because this is a protected post.