Публикации по теме 'object-oriented'


Rails 5 - ActiveRecord Suppress - слишком далеко?
Одно из новых дополнений к ActiveRecord, которое будет выпущено с выпуском Rails 5, - это метод ActiveRecord :: Base.suppress. У меня есть некоторая критика этой новой функции, и я хотел бы сформулировать ее в этом посте. Перед этим я хотел бы объяснить «рекламируемые» варианты использования этого нового метода, а также рассказать вам о его реализации. (что я считаю довольно крутым). Когда использовать подавление Хорошо, допустим, мы создаем приложение для социальной сети, в..

Основы объектной ориентации Ruby
Определяющая особенность языка программирования ruby ​​— объектная ориентация — устраняет разрыв между динамическим кодом и сценариями реального мира, которые мы хотим имитировать в наших приложениях, чтобы предоставить нашим конечным пользователям простой и почти интуитивно понятный опыт. Веб-сайты уже давно заменили большинство личных турагентов, предоставляя мгновенный доступ к огромному количеству предложений, которые раньше видели только специалисты отрасли. По мере того, как все..

Без IF, без метапрограммирования, используйте полиморфизм с единственной ответственностью
У ваших классов должна быть единственная ответственность и утверждения если побуждают вас увеличить их ответственность. Допустим, вам нужен ключ от каждой запертой двери вашего дома, поэтому вы пишете класс с именем KeyChain для генерации каждого ключа. Посмотрите на этот плохой пример: Этот класс использует множество операторов if, у него множество обязанностей, и трудно понять, что делает этот класс, поэтому давайте удалим условные выражения. Однажды моей первой мыслью..

Неизменяемые классы состояний и React
TL;DR: классы можно использовать как четко определенные части неизменного состояния, при этом операции применяются к состоянию, выраженному в виде методов. Эти классы можно использовать для инкапсуляции состояния в вашем приложении React и красивой компоновки. Я хочу представить вам шаблон, который я использовал для обработки состояния и, что более важно, изменений состояния в приложениях React. Для демонстрации я буду использовать канонический пример — список задач. Мы собираемся..

Сможете ли вы решить эту загадку Javascript?
Взгляните на следующий код. Он основан на задании, которое я получил как часть заявления о приеме на работу, но упрощен, чтобы просто продемонстрировать эту часть. Вот проблема: какое значение должно быть установлено для переменной «level» в строке 6, чтобы этот код вернул истину? Найдите минутку и подумайте, прежде чем прокручивать страницу вниз. — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — Чтобы вернуть истину, нам нужно пропустить условные выражения в строках..

Защищенные методы и свойства - плохая идея
Я часто вижу, что программисты предпочитают вообще не определять «частные» члены класса. Вместо этого они определяют только «защищенные» члены, объясняя это тем, что они не знают, будут ли этот метод или это свойство использоваться в дочерних классах или нет. Поэтому, чтобы заранее обезопасить себя и свести к минимуму рабочие усилия, необходимые в будущем, они думают, что лучше иметь всех членов класса «под защитой». Что ж, это умный ход, но языки программирования позволяют иметь..

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