Intellij Idea Ultimate 2018.03. I thought that Spring Boot dashboard will be visible and I’ll be able to run it after adding devtools dependency to the pom (in my case) file.
But seems that there is a little work involved to be able to run your spring boot applications by Spring Boot Run Dashboard.
In the Run/Debug Configurations Popup, you should have “Spring Boot” and also “Templates”.
So, click on the “+” (Alt+Insert), find Spring Boot on the list and add it.
Now, we can use devtools functionality in Spring Boot Run Dashboard.
Clients should not be forced to depend upon interfaces that they do not use.
- Make fine grained interfaces that are client specific
- Many client specific interfaces are better than one “general purpose” interface
- Keep your components focused and minimize dependencies between them
- Notice relationship to the Single Responsibility Principle?
- avoid ‘god’ interfaces
If it looks like a duck and quacks like a duck but it needs batteries, you probably have the wrong abstraction.
- By Barbara Liskov, in 1998
- Objects in a program would be replaceable with instances of their subtypes WITHOUT altering the correctness of the program.
- Violations will often fail the “Is a” test.
- A Square “Is a” Rectangle
- However, a Rectangle “Is Not” a Square
Software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification.
- Your classes should be open for extension
- But closed for modification
- You should be able to extend a classes behavior, without modifying it.
- Use private variables with getters and setters – ONLY when you need them.
- Use abstract base classes
Just because you can doesn’t mean you should.
- A class should have only one reason to change.
- There should never be more than one reason for a class to
- Your classes should be small. No more than a screen full of
- Avoid ‘god’ classes.
- Split big classes into smaller classes.