4b07fc8c3ac5486a

Важность обособленных о & # 39 объектов в ООП

В OOP (об & # 39; объектно-ориентированное программирование) важно памяти & # 39; закладку почему вы строите приложение с о & # 39; объектами, а не просто функциями (процедурное программирование). Иногда программисты рассматривают об & # 39; объекты более функции, которые в первую очередь полностью побеждают цели о & # 39 объектов! Цель этого сообщения состоит в изучении реальной выгоды ООП и правильной структуры своих моделей.

Что такое обособленное о & # 39; объект?

В отличие от убеждения начинающего программиста OOP, о & # 39; объект гораздо больше, чем совокупность данные участников и д & # 39; связанные с ними методы. Важно памяти & # 39; закладку, что о & # 39; объект воплощает данные и методы, которые касаются только самого себя. Термин "развязку & # 39; вязкая" используется для определения разделение программных блоков, которые не должны зависеть друг от друга

Почему важно отделить об & # 39; объекты?

Допустим, у нас есть Автомобиль Класс с методами driveForward () stop () turn () honkHorn () и changeLanes ). Этот о & # 39; объект имеет плохой дизайн, так как один из методов changeLanes () может зависеть от класса Street . Что делать, если вы пытаетесь повторно использовать этот класс для автомобиля, который ездит только на бездорожье? В этом случае метод changeLanes () совершенно бессмысленно подходит для инстанции вашего об & # 39 объекта. Кроме того, если метод turn () мог ссылаться на метод changeLanes () все о & # 39; объект начинал казаться слишком конкретным для анализа и работы с внедорожниками. Кроме того, если меняется класс Street вполне вероятно, что класс Car также придется изменить. С Автомобиль имеет метод, который зависит от другого о & # 39 объекта, этот о & # 39; объект считается "сцепленным" (о котором мы стараемся избегать).

Как отделить об & # 39; объекты

Чтобы создать что Я называю "очищенными о & # 39; объектами", нам нужно полностью отделить их таким образом, чтобы все их поля и методы были специфическими для того, что о & # 39 ; объект может делать в любых обстоятельствах. Чтобы отделить класс Car вы хотите переместить метод changeLanes () на другой о & # 39; объект, который взаимодействует с автомобилем как CityDriving . Этот новый о & # 39; объект выступает посредником, поскольку он использует класс Car для специальных обстоятельств без потери чистого определения.

При проектировании о & # 39; объектно моделей спросите себя: "эти об & # 39; объекты очищенные ли они отделены?" Если вы религиозно зададите себе этот вопрос при создании новых о & # 39 объектов, вы не только сможете создать гораздо более чистый код, но и тратить меньше времени на повторное факторинга. Удачи!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *