Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Абстракция vs простота. Александр Макаров

Абстракция vs простота. Александр Макаров

Avatar for Deep Refactoring

Deep Refactoring

May 05, 2017
Tweet

More Decks by Deep Refactoring

Other Decks in Programming

Transcript

  1. 4 Из философии: отвлечение в процессе познания от несущественных сторон,

    свойств, связей объекта (предмета или явления) с целью выделения их существенных, закономерных признаков; абстрагирование — теоретическое обобщение как результат такого отвлечения.
  2. 8 Оперативно (в кратковременной памяти) человек может оперировать малым числом

    объектов: — 7±2 объектами (George Miller, 1989) — 4±1 (Cowan, 2001) — Число зависит от объектов
  3. 17 Обычно систему бьют на слои (группы, chunk-и). Каждый последующий

    более абстрактный слой базируется на предыдущем менее абстрактном.
  4. 21 "All non-trivial abstractions, to some degree, are leaky." Joel

    Spolski Практически все абстракции "дырявые". Через них просачиваются детали реализации.
  5. 26 OOD, DDD и т.д. — Цель — подобрать подходящую

    абстракцию — Важен контекст
  6. 28 Абстракция (класс) зависит от того, кто абстрагирует. Для одной

    задачи два человека получат разный набор классов.
  7. 40 Почитать — — — Barbara Oakley: A Mind For

    Numbers (Думай как математик) — — — Wikipedia: Abstraction Wikipedia: Short-term memory Why Every Single Element of SOLID is Wrong! Сергей Тепляков Гради Буч, Объектно-ориентированный анализ и проектирование