Запитання з тегом «abstraction»

Використовуйте цей тег для посилання на апаратну абстракцію, наприклад, як Windows може використовувати ті самі API навіть на різних апаратних засобах, або будь-який інший метод, коли реальність відокремлена від програмного забезпечення на рівні користувача. Це не слід використовувати для емуляції.

12
Чому наслідування Square з прямокутника буде проблематичним, якщо ми перекриємо методи SetWidth та SetHeight?
Якщо квадрат - це тип прямокутника, то чому квадрат не може успадкувати прямокутник? Або чому це поганий дизайн? Я чув, як люди кажуть: Якщо ви зробили квадратний похід від прямокутника, то квадрат повинен бути корисним у будь-якому місці, де ви очікуєте прямокутник У чому тут проблема? І чому площа може …

28
Чому розумність вважається шкідливою в програмуванні деякими людьми?
Останнім часом я помітив чимало питань, що стосуються різних технік абстрагування, і відповіді, в основному кажучи, що методи, про які йдеться, "занадто розумні". Я думаю, що частина наших завдань як програмістів полягає у визначенні найкращих рішень проблем, які ми даємо вирішити, і розумність допомагає в цьому. Отже, моє запитання: чи …

11
Чому використання абстракцій (таких як LINQ) настільки табу? [зачинено]
Я незалежний підрядник і, як такий, провожу інтерв'ю 3-4 рази на рік для нових концертів. Зараз я в самому розпалі цього циклу, і мені відмовилися за можливість, хоча я відчував, що інтерв'ю пройшло добре. Те саме трапилося зі мною пару разів цього року. Зараз я не є ідеальним хлопцем, і …

4
Чи може занадто велика абстракція бути поганою?
Як програмісти, я вважаю, що наша мета полягає в наданні хороших абстракцій щодо даної доменної моделі та логіки бізнесу. Але де повинна зупинятися ця абстракція? Як зробити компроміс між абстракцією та всіма перевагами (гнучкість, простота зміни тощо) та легкість розуміння коду та всіх його переваг. Я вважаю, що я схильний …

24
Що таке абстракція? [зачинено]
Чи існує загальноприйняте визначення поняття " абстракція програмування" , яке використовують програмісти? [Зауважте, програмування абстракції не слід плутати зі словниковими визначеннями для слова "абстракція".] Чи є однозначне чи навіть математичне визначення? Назвіть кілька чітких прикладів абстракцій?

4
Як визначити рівні абстракції
Сьогодні я читав книгу під назвою "Чистий код", і я натрапив на абзац, коли автор говорив про рівні абстракції за функцією, він класифікував якийсь код як низький / проміжний / високий рівень абстракції. Моє запитання - які критерії визначення рівня абстракції? Я цитую абзац з книги: Щоб переконатися, що наші …

9
Абстракція: Війна між вирішенням проблеми та загальним рішенням [закрито]
Як програміст, я опиняюся перед дилемою, де хочу зробити свою програму максимально абстрактною та максимально загальною. Це, як правило, дозволить мені повторно використовувати свій код і мати більш загальне рішення проблеми, яка може (або не може) з’явитися знову. Тоді цей голос в моїй голові каже, просто вирішити проблему манекен його …

4
Абстрактний тип даних та структура даних
Мені досить складно зрозуміти ці терміни. Я шукав у Google і читав трохи у Вікіпедії, але все ще не впевнений. Я визначив поки що: Тип абстрактних даних - це визначення нового типу, описує його властивості та операції. Структура даних - це реалізація ADT. Багато ADT можуть бути реалізовані як одна …

17
Яке значення приховує деталі за допомогою абстракцій? Чи немає значення прозорості?
Фон Я не великий фанат абстракції. Я визнаю, що користь від адаптивності, портативності та повторної використання інтерфейсів тощо може бути корисною. Тут є реальна користь, і я не хочу цього сумніватися, тому давайте ігнорувати це. Є й інша основна «користь» абстракції, яка полягає у приховуванні логіки реалізації та деталей від …

11
Скільки моделей дизайну та рівнів абстракції необхідні? [зачинено]
Як я можу сказати, що моє програмне забезпечення має занадто велику абстракцію та занадто багато моделей дизайну, або навпаки, як я можу знати, чи має їх більше? Розробники, з якими я працюю, по-різному програмують ці питання. Деякі з них абстрагують кожну маленьку функцію, застосовують шаблони дизайну, коли це можливо, і …

8
Чи ставлять рамки занадто великі абстракції? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 5 років тому . Я програмую трохи менше року і маю певний досвід написання системних додатків, веб-додатків та …

8
Коли примітивна одержимість не є кодовим запахом?
Нещодавно я прочитав багато статей, в яких описує примітивну одержимість як кодовий запах. Є два переваги уникнення примітивної одержимості: Це робить модель домену більш чіткою. Наприклад, я можу поговорити з бізнес-аналітиком про поштовий індекс замість рядка, який містить поштовий індекс. Усі перевірки проводяться в одному місці замість програми. Є багато …

1
Чому у Haskell немає лямбда-абстракцій на рівні?
Чи є якісь теоретичні причини для цього (наприклад, перевірка типу чи умовивід типу стане нерозбірливою) або практичні причини (занадто складно їх правильно реалізувати)? Наразі ми можемо обернути речі newtypeподібними newtype Pair a = Pair (a, a) а потім мати Pair :: * -> * але ми не можемо зробити щось …

7
Чи є більш розумний спосіб зробити це, крім довгого ланцюжка, якщо заяви або перемикання?
Я реалізую бот IRC, який отримує повідомлення, і я перевіряю це повідомлення, щоб визначити, які функції потрібно викликати. Чи є розумніший спосіб зробити це? Здається, що це швидко вийде з рук, коли я піднявся, як 20 команд. Можливо, є кращий спосіб цього абстрагувати? public void onMessage(String channel, String sender, String …

3
Як посилення передумов і ослаблення посткондукцій порушує принцип заміни Ліскова?
Я читав, що принцип заміни Ліскова порушується, якщо: Передумови посилюються, або Послідовності ослаблені Але я ще не розумію, як ці два пункти порушили б принцип заміни Ліскова. Може хтось, будь-ласка, поясніть на прикладі. Зокрема, як будь-яка з перерахованих вище умов спричинить ситуацію, коли об'єкт підкласу не може бути замінений об’єктом …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.