Junior — Middle
Koji pristup dizajnu softverskih rešenja koristite u svom radu?
sobes.tech АИ
Одговор од АИ
У свом раду следим приступ дизајна софтверских решења заснован на принципима чисте архитектуре и SOLID, што помаже у стварању одрживог и проширивог кода.
Главне тачке:
- Раздвајање одговорности: сваки компонент је одговоран за свој задатак.
- Коришћење интерфејса и апстракција за смањење повезаности.
- Минимализам: избегавам превремене оптимизације и сувишну сложеност.
- Фокус на тестираност: дизајнирам код тако да га је лако покрити јединичним тестовима.
У Go-у се то често изражава коришћењем малих интерфејса и композиције уместо наследства. На пример:
// Интерфејс за складиштење података
type Storage interface {
Save(data string) error
}
// Имплементација интерфејса
type FileStorage struct {}
func (fs *FileStorage) Save(data string) error {
// логика за чување у фајл
return nil
}
// Коришћење
func Process(s Storage) {
s.Save("податци")
}