Рефакторинг кода для отделения зависимостейC#

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

Сообщение Anonymous »

Рассмотрим следующий класс: < /p>

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

public readonly struct Shape
{
public void Render (Graphics graphics)
{
// Do complex manipulation to draw the shape using the `graphics` object.
graphics.DrawLine(Pens.Red, this.Point1, this.Point2);
graphics.DrawLine(Pens.Red, this.Point2, this.Point3);
...
}
}
< /code>
и вызовный код из приложения Winforms: < /p>
private void PictureBox_Paint (object? sender, PaintEventArgs e)
{
var shape = new Shape(...);

shape.Render(e.Graphics);
}
Класс Shape заботится о его собственном рендеринге, сохраняя простым вызовов. Тем не менее, ссылка на объект Graphics в классе Shape является красным флагом, поскольку это приложение будет нацелен на несколько платформ в будущем.
Я мог бы использовать указания компилятора здесь, чтобы гарантировать, что этот код существует только в рамках Winforms , но это тоже не будет делать, так как вызовный код может быть для Render (Graphics). это, чтобы классы слабо связаны?

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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