Там нет проблем с вашим примером. В конце концов, вы вращаетесь, ставите водяные знаки и т.д. ... всегда одно и то же изображение. Я полагаю, что вы все время общаетесь с объектом Pipeline, поэтому, пока ваш код зависит только от класса Pipeline, вы не нарушаете LoD.
ья в википедии околоЗакон Деметры говорит:Закон можно сформулировать просто как «используйте только одну точку».
Однако
простой пример изсвободный интерфейс может выглядеть так:Так это идет вместе?
static void Main(string[] args)
{
new ZRLabs.Yael.Pipeline("cat.jpg")
.Rotate(90)
.Watermark("Monkey")
.RoundCorners(100, Color.Bisque)
.Save("test.png");
}
Это важный вопрос, потому что нарушение закона Деметры может затруднить сопровождение модульных тестов, содержащих пробные копии (хотя, возможно, плавные цепи являются исключением).