Вопросы по теме 'open-closed-principle'
Как работают вместе разработка через тестирование и принцип открытости / закрытости?
Я читал о модульном тестировании, TDD и принципах SOLID, и мне нужны некоторые пояснения. Я понимаю, что если придерживаться принципа открытого / закрытого, модульное тестирование может стать в значительной степени ненужным из-за того, что код закрыт...
846 просмотров
schedule
25.03.2023
Анонимный внутренний класс, объявленный в интерфейсе: что такое внешний класс?
Рассмотрим следующее:
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 просмотров
schedule
28.04.2024
Принцип открыт-закрыт с конструктором
Изучение принципа «SOLID». Мне интересно, можно ли изменить конструктор, если мне нужно добавить еще какое-то расширение к классу, например. бизнес-логика.
Из того, что я узнал, похоже, что при изменении конструктора я нарушаю принцип...
497 просмотров
schedule
10.12.2023
Принцип открытости закрыт
Я понимаю, что этот принцип гласит, что модуль открыт для расширения, но закрыт для модификации, и это ясно, когда мы хотим обновить / изменить метод в каком-то классе - мы создаем другой класс, который наследует базовый класс, а затем переопределяем...
538 просмотров
schedule
04.10.2022
SOLID - являются ли принцип единой ответственности и принцип открытости / закрытости взаимоисключающими?
Принцип единой ответственности гласит:
У класса должна быть одна и только одна причина для изменения.
Принцип открытости / закрытости гласит:
Вы должны иметь возможность расширять поведение классов, не изменяя его.
Как...
703 просмотров
schedule
30.12.2022
Каковы способы различения объектов одного типа для поиска, сравнения и т. д. в С#
Прошу прощения за странный заголовок, я не знал, как задать вопрос, поэтому, если у вас есть какие-либо предложения относительно того, что было бы более подходящим, дайте мне знать, и я обновлю его.
Часто при программировании я использовал...
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 просмотров
schedule
12.12.2022