Вопросы с тегом «abstraction»

Используйте этот тег в отношении аппаратной абстракции, например, о том, как Windows может использовать одни и те же API-интерфейсы даже на другом оборудовании, или о любом другом методе, где реальность отделена от программ уровня пользователя программным обеспечением. Это не должно использоваться для эмуляции.

105
Почему квадратное наследование от Rectangle будет проблематичным, если мы переопределим методы SetWidth и SetHeight?

Если Квадрат является типом Прямоугольника, то почему Квадрат не может наследовать от Прямоугольника? Или почему это плохой дизайн? Я слышал, как люди говорят: Если вы сделали Square производным от Rectangle, то Square должен использоваться везде, где вы ожидаете прямоугольник В чем здесь проблема?...

89
Почему ум считается вредным в программировании?

В последнее время я заметил много вопросов, относящихся к различным техникам абстракции, и ответы, в основном, на то, что эти методы "слишком умны". Я думаю, что часть нашей работы в качестве программистов состоит в том, чтобы находить наилучшие решения проблем, которые нам даны для решения, и в...

60
Почему использование абстракций (таких как LINQ) так запрещено? [закрыто]

Я независимый подрядчик, и поэтому я беру интервью 3-4 раза в год для новых выступлений. Сейчас я нахожусь в середине этого цикла, и мне отказали в возможности, хотя я чувствовал, что интервью прошло хорошо. То же самое случилось со мной пару раз в этом году. Теперь я не идеальный парень, и я не...

46
Может ли слишком много абстракции быть плохим?

Как программисты, я чувствую, что наша цель - предоставить хорошие абстракции по данной модели предметной области и бизнес-логике. Но где должна остановиться эта абстракция? Как найти компромисс между абстракцией и всеми ее преимуществами (гибкость, простота изменения и т. Д.) И простотой понимания...

38
Что такое абстракция? [закрыто]

Существует ли общепринятое определение того, что такое абстракция программирования , используемая программистами? [Примечание: программирование абстракции не следует путать со словарными определениями для слова «абстракция».] Существует ли однозначное или даже математическое определение? Каковы...

35
Как определить уровни абстракции

Сегодня я читал книгу под названием «Чистый код» и наткнулся на абзац, где автор говорил об уровнях абстракции для функции, он классифицировал некоторый код как низкий / средний / высокий уровень абстракции. Мой вопрос: каковы критерии определения уровня абстракции? Я цитирую абзац из книги: Чтобы...

33
Абстракт: война между решением проблемы и общим решением [закрыто]

Как программист, я попадаю в дилемму, где я хочу сделать свою программу максимально абстрактной и максимально общей. Обычно это позволяет мне повторно использовать мой код и найти более общее решение для проблемы, которая может (или не может) появиться снова. Тогда этот голос в моей голове говорит,...

32
Абстрактный тип данных и структура данных

Мне довольно сложно понять эти термины. Я искал в Google и прочитал немного в Википедии, но я все еще не уверен. Я определил, что: Абстрактный тип данных - это определение нового типа, описываются его свойства и операции. Структура данных - это реализация ADT. Многие ADT могут быть реализованы как...

30
Какова ценность сокрытия деталей через абстракции? Разве нет ценности в прозрачности?

Задний план Я не большой поклонник абстракции. Я признаю, что можно извлечь выгоду из адаптивности, переносимости и многократного использования интерфейсов и т. Д. Там есть реальная выгода, и я не хочу ставить это под сомнение, поэтому давайте проигнорируем ее. Есть еще одно важное «преимущество»...

29
Сколько шаблонов проектирования и уровней абстракции необходимо? [закрыто]

Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 2 года назад . Как я могу сказать, что в моем программном...

24
Фреймворки ставят слишком много абстракций? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . Я программировал чуть меньше года и имею некоторый опыт написания системных...

22
Когда примитивная одержимость не является запахом кода?

Недавно я прочитал множество статей, в которых примитивная одержимость описывается как запах кода. Есть два преимущества избегания примитивной одержимости: Это делает модель предметной области более явной. Например, я могу поговорить с бизнес-аналитиком о почтовом индексе вместо строки, содержащей...

22
Почему на Хаскеле нет лямбда-абстракций на уровне типов?

Существуют ли для этого какие-либо теоретические причины (например, проверка типов или вывод типов стали бы неразрешимыми) или практические причины (слишком трудно осуществить должным образом)? В настоящее время мы можем обернуть вещи newtypeкак newtype Pair a = Pair (a, a) а затем есть Pair :: *...

20
Есть ли более разумный способ сделать это, кроме длинной цепочки операторов if или switch?

Я внедряю бот IRC, который получает сообщение, и я проверяю это сообщение, чтобы определить, какие функции вызывать. Есть ли более умный способ сделать это? Кажется, что это быстро выйдет из-под контроля после того, как я наберу 20 команд. Возможно, есть лучший способ абстрагировать это? public...

19
Как усиление предусловий и ослабление постусловий нарушают принцип подстановки Лискова?

Я читал, что принцип замещения Лискова нарушается, если: Предпосылки усиливаются, или Постусловия ослаблены Но я еще не до конца понял, как эти два пункта нарушают принцип подстановки Лискова. Может кто-нибудь, пожалуйста, объясните на примере. В частности, каким образом любое из вышеперечисленных...

18
Увеличивает ли функциональное программирование «репрезентативный разрыв» между проблемами и решениями? [закрыто]

Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 4 года назад . Поскольку машинный язык (например, 0110101000110101)...

17
Является ли DDD-Lite языком шаблонов для внедрения зависимостей?

Я наткнулся на выступление Грега Янга 7 Причины, по которым проекты DDD терпят неудачу, когда он упоминает нечто, что он называет DDD-Lite, в 7:20. Подводя итог, он в основном говорит, что некоторые используют DDD в качестве шаблонных языков (сущностей, репозиториев, объектов значений, сервисов и...

16
Толстые модели против. Бизнес-логика, где вы проводите различие?

Сегодня я вступил в жаркую дискуссию с другим разработчиком в моей организации о том, где и как добавлять методы в классы с отображением базы данных. Мы используем sqlalchemy, и основная часть существующей кодовой базы в наших моделях баз данных - это всего лишь пакет сопоставленных свойств с...

16
Запутался в определении «абстракции» в ООП

Я пытаюсь понять определение «абстракции» в ООП. Я столкнулся с несколькими основными определениями. Они все действительны? Один из них не прав? Я не совсем понимаю. (Я переписал определение своими словами). Определение 1: Абстракция - это концепция взятия какого-либо объекта из реального мира и...

15
Какой следующий уровень абстракции? [закрыто]

В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и,...