Как подойти к принципу единой ответственности?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как подойти к принципу единой ответственности?

Сообщение Anonymous »

Я программист-любитель и пытаюсь улучшить свой код. Я склонен создавать монолитные классы и хочу стать скорее буквой S в SOLID. Я немного почитал здесь и в других местах, но изо всех сил пытаюсь понять, какой подход к этому лучше всего подходит. Я могу придумать три сценария:
  • Статические методы
  • Посредством создания экземпляров
  • Смесь вышеперечисленного, но с передачей
    полного родительского класса в класс зависимостей (имеет ли это влияние на память
    или нет, потому что это просто указатель?)

Код: Выделить всё

namespace SingleResponsabilityTest
{
internal class Program
{
static void Main(string[] args)
{
Factoriser factoriser = new Factoriser();
factoriser.DoFactorTen();
}
}

internal class Factoriser
{
public int classSpecificInt = 10;
public void DoFactorTen()
{
SingleResponsabiltyApproach1 sra1 = new SingleResponsabiltyApproach1(classSpecificInt);
Console.WriteLine(sra1.FactorTen());

Console.WriteLine(SingleResponsabiltyApproach2.FactorTen(classSpecificInt));

Console.WriteLine(SingleResponsabiltyApproach3.FactorTen(this));

Console.ReadLine();
}
}

internal class SingleResponsabiltyApproach1
{
int passedInt = 0;
public SingleResponsabiltyApproach1(int passedInt)
{
this.passedInt = passedInt;
}
public int FactorTen()
{
return passedInt * 10;
}
}

internal class SingleResponsabiltyApproach2
{
public static int FactorTen(int passedInt)
{
return passedInt * 10;
}
}

internal class SingleResponsabiltyApproach3
{
public static int FactorTen(Factoriser factoriser)
{
return factoriser.classSpecificInt * 10;
}
}

}
Какой подход лучше всего?
Кроме того, какое отношение ко всему этому имеют внедрение зависимостей и интерфейсы? Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/748 ... -principle
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как подойти к принципу единой ответственности?
    Anonymous » » в форуме C#
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Должен ли я разделить метод, который вычисляет и сохраняет данные для следования принципу единой ответственности?
    Anonymous » » в форуме JAVA
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Как реализовать принцип единой ответственности с помощью RabbitMQ?
    Гость » » в форуме C#
    0 Ответы
    26 Просмотры
    Последнее сообщение Гость
  • Что такое «ответственность» в принципе единой ответственности?
    Anonymous » » в форуме C#
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Противоречит ли наследование принципу инверсии зависимостей
    Anonymous » » в форуме JAVA
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»