spy16 / droplets

Droplets is a platform for Gophers.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Question about Domain and external dependency

minizilla opened this issue · comments

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.