Sobes.tech
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("податци")
 }