Ar galite paaiškinti SOLID principus ir kaip juos taikyti programinės įrangos kūrime?
sobes.tech AI
Atsakymas iš AI
SOLID principai — tai penki pagrindiniai objektinio programavimo taisyklės, kurios padeda kurti lankstų, išplečiamą ir palaikomą kodą:
-
S — Vieno atsakomybės principas Klasė turi turėti tik vieną priežastį keistis, tai yra atsakyti už vieną užduotį.
-
O — Atvirumo/Uždarymo principas Klasės turi būti atviros plėtrai, bet uždarytos modifikacijai.
-
L — Barbos Liskov pakeitimo principas Subklasių objektai turi būti pakeičiami su bazinio klases objektais be programos teisingumo pažeidimo.
-
I — Sąsajos segregacijos principas Klientai neturi priklausyti nuo sąsajų, kurių jie nenaudoja. Geriau turėti keletą specializuotų sąsajų nei vieną universalią.
-
D — Priklausomybės inversijos principas Aukštesnio lygio moduliai neturi priklausyti nuo žemesnio lygio modulių. Abu turi priklausyti nuo abstrakcijų.
Pavyzdys, kaip taikyti Go:
// Vieno atsakomybės principas
// Klasė (struktūra) atsako tik už vartotojų valdymą
type UserRepository interface {
GetUser(id int) (*User, error)
}
// Priklausomybės inversijos principas
// Paslauga priklauso nuo sąsajos, o ne nuo konkrečios įgyvendinimo
type UserService struct {
repo UserRepository
}
func (s *UserService) GetUserName(id int) (string, error) {
user, err := s.repo.GetUser(id)
if err != nil {
return "", err
}
return user.Name, nil
}
SOLID taikymas padeda rašyti kodą, kuris yra lengviau testuojamas, išplečiamas ir palaikomas.