§15 Минимизируйте mutability презентация

Признаки immunable класса Не создавайте методов, способных изменить состояние объекта (mutators) Убедитесь, что от класса нельзя отнаследоваться. Делайте все поля final Делайте все поля private Убеждайтесь в эксклюзивности доступа ко всем

Слайд 1§15 Минимизируйте mutability


Слайд 2Признаки immunable класса
Не создавайте методов, способных изменить состояние объекта (mutators)
Убедитесь, что

от класса нельзя отнаследоваться.
Делайте все поля final
Делайте все поля private
Убеждайтесь в эксклюзивности доступа ко всем mutable полям

Слайд 3Пример


Слайд 5Immunable объекты просты
Immunable объекты потомственно thread-safe, не требуют синхронизации
Также, они могут

свободно share
Не следует имплементировать clone() или конструктор копирования в таких объектах.
Не только вы можете share immunable объекты. Вы можете share их внутренние поля.
Immunable объекты очень удобны при создании других объектов


Слайд 6Единственный недостаток immunable объектов, это то, что для каждого нового значения

вам необходим новый экземпляр.
BitSet vs BigInteger и метод flipBit()
Поэтому существуют mutable компаньоны (String и StringBuilder)


Слайд 7Иной подход:
Это позволяет расширять так:


Слайд 8Не всегда понимают что immunable класс должен быть final, и это

может привести к плохим последствиям

Поэтому:

Классы следует создавать immutable до тех пор пока у вас нет веских причин сделать наоборот.


Слайд 9
Если класс не может быть immutable, ограничьте его изменяемость как только

это возможно
Делайте каждое поле final, пока нет достаточной причины сделать не так.
Пример: TimerTask, java.util.Date, java.awt.Point

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика