Главная » Просмотр файлов » 1629295403-b876e2087bddebea4bc9666fb2377a02

1629295403-b876e2087bddebea4bc9666fb2377a02 (846199), страница 42

Файл №846199 1629295403-b876e2087bddebea4bc9666fb2377a02 (С для чайников) 42 страница1629295403-b876e2087bddebea4bc9666fb2377a02 (846199) страница 422021-08-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 42)

Именно в этом направлении как минимум полстолетия дажется прогресс в программировании— работа со все более сложными концепциями авсе меньшим количеством ошибок.Во время приготовления блюда многие смотрят на микроволновую печь просто какна железный ящик. И пока ею можно управлять с помощью интерфейса, ее нельзя сло­мать, "подвесить" или, что еще хуже, превратить готовящееся блюдо в угли.Приготовление блюд с помощью функцийПредставьте себе, что я попросил бы своего сына написать алгоритм приготовлен!мною закусок. Поняв наконец, чего я от него добиваюсь, он бы, наверное, написал что-товроде "открыть банку бобов, натереть сыр, посыпать перцем" и т.д.

Когда дело дошло бынепосредственно до приготовления в печи, он в лучшем случае написал бы нечто тип"готовить в микроволновой печи не более пяти минут".Этот рецепт прост и верен. Но с помощью подобного алгоритма "функциональный" программист не сможет написать программу приготовления закусок. Программисты, работающие с функциями, живут в мире, лишенном таких объектов, как микроволновая печь и прочиудобства. Они заботятся о последовательности операций в функциях. В "функциональном"решении проблемы закусок управление будет передано от пальцев рук кнопкам передней па­нели, а затем внутрь печи. После этого программе придется решать, какое время должна работать печь и когда следует включить звуковой сигнал готовности.При таком подходе очень трудно отвлечься от сложностей внутреннего устройств!печи.

В этом мире нет объектов, за которые можно спрятать всю присущую микроволно­вой печи сложность.Приготовление "объектно-ориентированных" блюдПрименяя объектно-ориентированный подход к приготовлению блюд, я первым де­лом определяю объекты, используемые в задаче: сыр, бобы, чипсы и микроволноваяпечь.

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

При таком подходе я легко пе­реведу рецепт моего сына на язык С#.226ЧастьIV.Объектно-ориентированноепрограммировании]В концепции уровней абстракции очень важной частью является классификация.Опять-таки, если бы я спросил моего сына: "Что такое микроволновая печь?" — он бынаверняка ответил: "Это печь, которая...". Если бы затем последовал вопрос: "А что та­кое печь?" — он бы ответил что-то вроде: "Ну, это кухонный прибор, который...".

(Припопытке выяснить у него, что же такое кухонный прибор, он наверняка бы спросил,сколько можно задавать дурацких вопросов.)Из детских ответов становится ясно, что ими печь воспринимается как один из экзем­пляров вещей, называемых микроволновыми печами. Кроме того, печь является подраз­делом духовок, а духовки относятся к типу кухонных приборов.В объектно-ориентированном программировании конкретная микроволноваяпечь является экземпляром класса микроволновых печей. Класс микроволно­вых печей является подклассом печей, который, в свою очередь, является под­классом кухонных приборов.Люди склонны заниматься классификацией.

Все вокруг увешано ярлыками. Мы дела­ем все для того, чтобы уменьшить количество вещей, которые надо запомнить. Вспом­ните, например, когда вы первый раз увидели " П е ж о " или " Р е н о " . Возможно, в рекламеи говорилось, что это суперавтомобиль, но мы-то с вами знаем, что это не так. Это ведьпросто машина. Она имеет все свойства, которыми обладает автомобиль.

У нее естьруль, колеса, сиденья, мотор, тормоза и т.д. И можно поспорить, что многие водили бытакую штуку без всяких инструкций.Но не будем тратить место в книге на описание того, чем этот автомобиль похож надругие. Следует знать лишь то, что это "машина, которая...", и то, чем она отличается отдругих машин (например, ценой). Теперь можно двигаться дальше. Легковые автомоби­ли являются таким же подклассом колесных транспортных средств, как грузовики и пи­капы.

При этом колесные транспортные средства входят в состав транспортных средствнаравне с кораблями и самолетами.Зачем вообще нужна эта классификация, это объектно-ориентированное программи­рование? Ведь оно влечет за собой массу трудностей. Тем более, что уже имеется гото­вый механизм функций. Зачем же что-то менять?Иногда может показаться, что легче разработать и создать микроволновую печь спе­циально для какого-то блюда и не строить универсальный прибор на все случаи жизни.Тогда на лицевую панель не нужно было бы помещать никаких кнопок, кроме кнопкиСТАРТ.

Блюдо всегда готовилось бы одинаковое время, и можно было бы избавиться отвсех этих бесполезных кнопок типаЛЕНИЯ. Все,РАЗМОРОЗКАилиТЕМПЕРАТУРА ПРИГОТОВ­что требовалось бы от такой печи, — это чтобы в нее помещалась одна та­релка с полуфабрикатом. Да, но что же тогда получится? Ведь при этом кубический футпространства использовался бы для приготовления всего одной тарелки закуски!Чтобы сэкономить место, можно освободиться от этой глупой концепции — "микрон]новая печь". Для приготовления закуски хватит и внутренностей печи.

Тогда в инструкциидостаточно написать примерно следующее: "Поместите полуфабрикат в ящик. Соединикрасный и черный провод. Установите на трубе излучателя напряжение в 3000 вольт. Долпоявиться негромкий гул. Постарайтесь не стоять близко к установке, если хотите иметь цтей". Простая и понятная инструкция!Но такой функциональный подход создает некоторые проблемы.Слишком сложно. Нежелательно, чтобы фрагменты микроволновой печи памешивались с фрагментами закуски при разработке программы. Но поскольку цданном подходе нельзя создавать объекты и упрощать написание, работая с ицым из них в отдельности, приходится держать в голове все нюансы каждого ofекта одновременно.Не гибко. Когда-нибудь потребуется замена имеющейся микроволновой печщпечь другого типа.

Это делается без проблем, если интерфейс печи можно будоставить старым. Без четко очерченных областей действия, а также без разделенинтерфейса и внутреннего содержимого становится крайне трудно убрать старобъект и поставить на его место новый.Невозможно использовать повторно. Печи предназначены для приготовлен!разных блюд. Вряд ли кому-то захочется создавать новую печь всякий раз при аобходимости приготовить новое блюдо. Если задача уже решена, неплохо исшизовать ее решение и в других программах.Объект должен быть способен спроектировать внешний интерфейс максимально прсстым при полной достаточности для корректного функционирования. Если интерфа"устройства будет недостаточен, все кончится битьем кулаком или чем-то более тяжелапо верхней панели такого устройства или просто разборкой для того, чтобы добраться»его внутренностей (что наверняка окажется нарушением законодательства об интеллатуальной собственности).

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

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

Однако, похоже, люди не испытывают тантрудностей с его вождением, как с управлением видеомагнитофоном.В каждом автомобиле в наличии примерно одни и те же элементы управления и гаити на одних и тех же местах. Если же управление отличается... Ну вот вам реальная жтория из моей жизни — у моей сестры был французский автомобиль, в котором упращ228ЧастьIV.Объектно-ориентированноепрограммированние фарами оказалось там, где у всех "нормальных" автомобилей находится управлениесигналами поворота. Отличие вроде бы небольшое, но я так и не научился поворачиватьна этом автомобиле влево, не выключив при этом фары...Кроме того, при хорошо продуманном дизайне автомобиля один и тот же элементуправления никогда не будет использоваться для выполнения более одной операции в за­висимости от состояния автомобиля.Микроволновая печь должна быть сконструирована таким образом, чтобы никакаякомбинация кнопок или рукояток не могла ее сломать или навредить вам.

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

Характеристики

Тип файла
PDF-файл
Размер
14,75 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6374
Авторов
на СтудИзбе
309
Средний доход
с одного платного файла
Обучение Подробнее