Вопросы по теме 'open-closed-principle'

Как работают вместе разработка через тестирование и принцип открытости / закрытости?
Я читал о модульном тестировании, TDD и принципах SOLID, и мне нужны некоторые пояснения. Я понимаю, что если придерживаться принципа открытого / закрытого, модульное тестирование может стать в значительной степени ненужным из-за того, что код закрыт...
846 просмотров

Анонимный внутренний класс, объявленный в интерфейсе: что такое внешний класс?
Рассмотрим следующее: public class OuterClass { private String attribute = "outer"; class InnerClass { private String attribute = "inner"; public doSomething() { System.out.println(this.attribute);...
197 просмотров
schedule 01.10.2023

Простой метод Factory vs Factory: оператор Switch в factory vs. client
Я понимаю, что одно из основных преимуществ фабричного метода по сравнению с простой фабрикой заключается в том, что он не нарушает принцип Open-Closed SOLID. То есть первый не требует изменения оператора switch при добавлении новых типов. Есть...
4692 просмотров

Принцип открыт-закрыт с конструктором
Изучение принципа «SOLID». Мне интересно, можно ли изменить конструктор, если мне нужно добавить еще какое-то расширение к классу, например. бизнес-логика. Из того, что я узнал, похоже, что при изменении конструктора я нарушаю принцип...
497 просмотров

Принцип открытости закрыт
Я понимаю, что этот принцип гласит, что модуль открыт для расширения, но закрыт для модификации, и это ясно, когда мы хотим обновить / изменить метод в каком-то классе - мы создаем другой класс, который наследует базовый класс, а затем переопределяем...
538 просмотров
schedule 04.10.2022

SOLID - являются ли принцип единой ответственности и принцип открытости / закрытости взаимоисключающими?
Принцип единой ответственности гласит: У класса должна быть одна и только одна причина для изменения. Принцип открытости / закрытости гласит: Вы должны иметь возможность расширять поведение классов, не изменяя его. Как...
703 просмотров

Каковы способы различения объектов одного типа для поиска, сравнения и т. д. в С#
Прошу прощения за странный заголовок, я не знал, как задать вопрос, поэтому, если у вас есть какие-либо предложения относительно того, что было бы более подходящим, дайте мне знать, и я обновлю его. Часто при программировании я использовал...
40 просмотров
schedule 28.03.2023

Как этот пример нарушает LSP, что затем приводит к нарушению OCP?
Из Agile Principles, Patterns, and Practices in C# Роберта Мартина, Листинг 10-1. Нарушение LSP, вызывающее нарушение OCP struct Point {double x, y;} public enum ShapeType {square, circle}; public class Shape {...
180 просмотров