@foonfyrick

Что такое код общего назначения и код специального назначения?

Что такое код общего назначение и код специального назначения?
Пожалуйста с примерами.

Я это понимаю так:
код который изменяет размеры кнопки - он специального назначения, а функции расширения для фрагментов, например, это код общего назначения.
  • Вопрос задан
  • 99 просмотров
Решения вопроса 1
azerphoenix
@azerphoenix Куратор тега Java
Java Software Engineer
foonfyrick,
таймкод 8:51
https://www.youtube.com/watch?v=SZLdme0zvV4

я понял.
Начнем с того, что в видео затрагиваются аспекты Clean Code. Можете прочитать книгу Роберта Мартина - Clean Code или например, пройти небольшой курс по рефакторингу - https://refactoring.guru/refactoring/course
Что касается вашего вопроса, то тут речь идет во-первых, о SOLID принципах.
S - single responsibility principle (принцип единственной ответственности). Т.е. один класс должен иметь одно назначение. Например, создание класса Сотрудник, который и готовит еду и подает и моет посуду и т.д. не совсем корректно. Но можно создать класс Сотрудник и расширить его такими классами, как Повар, Официант и Уборщик, каждый из которых будет готовить, подавать еду и мыть посуду соответственно.
Также сказанное им в видео можно соотнести к ISP (interface segregation principle). Принцип разделения интерфейсов. Например, предположим, что у вас есть интерфейс МФУ, в котором имеются методы print(), scan() и fax(). Если у вас есть класс для МФУ, который имплементирует этот интерфейс, то все ок, так как в этом устройстве есть все функции. Другое дело, что если некий класс Принтер имплементирует интерфейс МФУ, но при этом он может реализовать метод print(), получается что 2 остальных метода он не может реализовать, но должен. Соответственно, принцип ISP рекомендует разделить общий интерфейс на несколько частей.
Также например, pojo класс не должен являться также "утильным" классом или сервисным классом.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы