Комментарии (6)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
ComradeAlert20 уровень, Кемерово
15 июля, 13:03
---Принцип единственной ответственности (Single responsibility) «На каждый объект должна быть возложена одна единственная обязанность» Для этого проверяем, сколько у нас есть причин для изменения класса — если больше одной, то следует разбить данный класс. ---Принцип открытости/закрытости (Open-closed) «Программные сущности должны быть открыты для расширения, но закрыты для модификации» Для этого представляем наш класс как «чёрный ящик» и смотрим, можем ли в таком случае изменить его поведение. ---Принцип подстановки Барбары Лисков (Liskov substitution) «Объекты в программе могут быть заменены их наследниками без изменения свойств программы» Для этого проверяем, не усилили ли мы предусловия и не ослабили ли постусловия. Если это произошло — то принцип не соблюдается ---Принцип разделения интерфейса (Interface segregation) «Много специализированных интерфейсов лучше, чем один универсальный» Проверяем, насколько много интерфейс содержит методов и насколько разные функции накладываются на эти методы, и если необходимо — разбиваем интерфейсы. ---Принцип инверсии зависимостей (Dependency Invertion) «Зависимости должны строится относительно абстракций, а не деталей» Проверяем, зависят ли классы от каких-то других классов(непосредственно инстанцируют объекты других классов и т.д) и если эта зависимость имеет место, заменяем на зависимость от абстракции.
ComradeAlert20 уровень, Кемерово
13 июля, 09:00
while (inputStream.available() > 0)
	map.merge(inputStream.read(), 1, Integer::sum);
ComradeAlert20 уровень, Кемерово
6 июля, 10:02
В итоге, чтобы стиль вашей программы соответствовал концепции ООП и принципам ООП java следуйте следующим советам: выделяйте главные характеристики объекта; выделяйте общие свойства и поведение и используйте наследование при создании объектов; используйте абстрактные типы для описания объектов; старайтесь всегда скрывать методы и поля, относящиеся к внутренней реализации класса.
ComradeAlert20 уровень, Кемерово
2 июля, 07:31
Map<String, String> map = new HashMap<String, String>();
   map.put("first", " ");

   for (Map.Entry<String, String> pair : map.entrySet())
   {
       String key = pair.getKey();
       String value = pair.getValue();
       System.out.println(key + ":" + value);
   }