Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
repo.dbHandler.Execute(fmt.Sprintf(`INSERT INTO customers (id, name)
VALUES ('%d', '%v')`,
customer.Id, customer.Name))
Bobby'); DROP TABLE customers;--
Я уже слышу от тебя: это ужасный код! :) Много дублирования, нет обработки ошибок и несколько других дурнопахнущих вещей. Но смысл этой статьи ни в объяснении стилистики кода, ни реализации шаблонов проектирования — это все про АРХИТЕКТУРУ приложения, поэтому код написан так, чтобы на его примере было проще объяснить и было проще читать эту статью.
В прошлом посте автор признал, что речь не о хорошей архитектуре, а вообще какбы словарик без претензий на хорошесть.
… Об этом статья. Она явно не для опытных разработчиков, просто базовые понятия логического разделения структур в коде.
Разе в Go нету способа по-умолчанию не допускать таких проблем?
Чистая архитектура в Go-приложении. Часть 3