Назад к задачам
Junior — Senior
6

Оценка архитектуры классов на соответствие принципам SOLID

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

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

  • Принцип единственной ответственности (SRP)
  • Принцип разделения интерфейсов (ISP)
  • Принцип открытости/закрытости (OCP)
  • Принцип инверсии зависимостей (DIP)
# include <iostream>
using namespace std;

class IConnection {
public:
    virtual void connect(std::string) = 0;
    virtual void disconnect() = 0;
    virtual ~IConnection() {}
};

class IFile {
public:
    virtual std::vector<std::string> Read() = 0;
    virtual void Write(std::vector<std::string>) = 0;
    virtual ~IFile() {}
};

class OurFile : public IConnection, public IFile {
    void connect(std::string);
    void disconnect();
    std::vector<std::string> Read();
    void Write(std::vector<std::string>);
};