참고 사이트 - 추상 팩토리
참고 사이트 - 팩토리 메서드
옵저버 패턴은 여기에서 알아보았다.
어떤 디자인을 하던지간에, 디자인을 배웠다고 무조건 써야 한다거나, 써야만 좋은 코드다! 는 아니다.
본인이 제작하는 서비스내 코드의 상황에 맞춰 적절한 디자인을 확인하고, 해당 디자인을 참고하여 개발하는 것이 좋다.
아래 코드와 같이 Return type 을 내 class 로 하고 실제 return 은 this로 해주면 chaining 이 가능하다.
public class MyClass {
public MyClass SetSomething01() {
Console.WriteLine("Do Set Something 01");
return this;
}
public MyClass SetSomething02() {
Console.WriteLine("Do Set Something 02");
return this;
}
public MyClass SetSomething03() {
Console.WriteLine("Do Set Something 03");
return this;
}
}
public class Program {
public static void Main(string[] args) {
MyClass myClass = new();
Console.WriteLine("======")
myClass.SetSomething01().SetSomething02().SetSomething03();
Console.WriteLine("======")
myClass.SetSomething03().SetSomething01().SetSomething02();
}
}
======
Do Set Something 01
Do Set Something 02
Do Set Something 03
======
Do Set Something 03
Do Set Something 01
Do Set Something 02