#arch #solid #sold4mens #note
Принцип стабильных абстракций - The Stable Abstraction Principle или SAP
Стабильные пакеты абстрактны. То есть абстрактность должна возрастать со стабильностью. Стабильность здесь — то, как часто нам приходится менять части пакета: классы, интерфейсы, или что-либо ещё. Абстрактные пакеты должны быть стабильны, чтобы безболезненно на них завязываться.
А вот гибкие пакеты, наоборот, конкретны — они должны быть нестабильны, чтобы мы их легко меняли. Все наши приложения, наши конечные пакеты — это на самом деле очень нестабильные составляющие, которые зависят от множества всего и ломаются чаще, чем пакеты, от которых они зависят.
❓ Можно ли измерить абстрактность?
Да. Абстрактность — это число абстрактных классов и интерфейсов в пакете, деленное на общее число классов и интерфейсов в этом самом пакете.
Принцип стабильных абстракций - The Stable Abstraction Principle или SAP
Стабильные пакеты абстрактны. То есть абстрактность должна возрастать со стабильностью. Стабильность здесь — то, как часто нам приходится менять части пакета: классы, интерфейсы, или что-либо ещё. Абстрактные пакеты должны быть стабильны, чтобы безболезненно на них завязываться.
А вот гибкие пакеты, наоборот, конкретны — они должны быть нестабильны, чтобы мы их легко меняли. Все наши приложения, наши конечные пакеты — это на самом деле очень нестабильные составляющие, которые зависят от множества всего и ломаются чаще, чем пакеты, от которых они зависят.
Да. Абстрактность — это число абстрактных классов и интерфейсов в пакете, деленное на общее число классов и интерфейсов в этом самом пакете.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3🤯3