droplets
droplets copied to clipboard
Question about Domain and external dependency
In this docs, package domain cannot have a direct dependency on external packages. Why User domain import package golang.org/x/crypto/bcrypt? Any good reason?
Answer for that is mentioned in Clean Architecture article under Entities section: "They are the least likely to change when something external changes".
Now if you consider x/crypto/bcrypt, this is an implementation of BCrypt algorithm which is well-defined and never going to change (Or, there is nothing external about it). This is in a way similar to using a package which is part of the standard library itself.