TGViewer
Костя 8Бит | Fullstack AI Костя 8Бит | Fullstack AI @kostya_web_dev · 1.05K subscribers
Post #120 356
Я убил архитектуру приложения

Продолжение поста о том как можно упростить себе работу и уменьшить боль.

> Централизация и переиспользумость
🕚Тут буду говорить про то, чтобы одинаковая логика была реализована один раз в одном месте и дальше использовалась по всему проекту.

🔄 Пример: Централизованный кэш API


// страница товаров
if (sessionStorage.getItem("products")) {
return JSON.parse(sessionStorage.getItem("products")!);
} else {
const products = await api.getProducts();
sessionStorage.setItem("products", JSON.stringify(products));
return products;
}


такая ситуация не очень хороша, т.к. каждый экран сам кэширует результаты API


// services/cacheService.ts
export async function withCache<T>(key: string, fetcher: () => Promise<T>): Promise<T> {
const cached = sessionStorage.getItem(key);
if (cached) return JSON.parse(cached);

const data = await fetcher();
sessionStorage.setItem(key, JSON.stringify(data));
return data;
}


тут вынесли кэширование в отдельный сервис и он будет использоваться в одном месте.


const products = await withCache("products", () => api.getProducts());


То есть, если мы захотим поменять sessionStorage на localStorage мы сделаем это в одном месте. Если без сервиса, во всех 30-40-50 мест.


🔚Делая итог, главная идея такая:

1. Вынести повторяющуюся/общую логику в сервисы, адаптеры, валидаторы, утилиты.

2. Сделай одну центральную точку правды.
Тогда изменения не будут ронять весь проект.
Telegram Костя пишет Код | Frontend, Backend Добавил новую фичу и все опять сломалось 👨‍💻Я сталкивался с таким сотни раз, когда добавлял фичу и приходилось переписывать/рефачить код. 🏠Особенно эта проблема преследовала меня на старых проектах. На новых пиши как хочешь - все будет работать. А вот…
  • 😭 4
  • ❤ 3
More from @kostya_web_dev
  1. Sep 25, 2026Как просрать собес с нейронкой Во многих компаниях при отборе появился новый вид интервью…
  2. Sep 24, 2026Как зайти в рынок, где вакансии есть, а людей нет Одна из причин, почему я в 2025 решил си…
  3. Sep 23, 2026Рынок мёртв. Ничего не поделать (почти) По моим ощущениям, с 2024 года работу стало находи…
  4. Sep 22, 2026Сезон начался В сентябре hr прям активизировались, много пишут на линке/хх. Данная позиция…
  5. Sep 22, 2026Нам никогда не внедрить ИИ правильно Вот тут упомянул одну из серьезных проблем на текущий…
  6. Sep 21, 2026Как я не нашел работу, а потом Бац и нашел! Свитч в ии-инженера Последние годы меня подбеш…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →