전통문화대전망 - 음식 관습 - Delphi 언어를 사용하여 디자인 패턴 학습: 간단한 팩토리
Delphi 언어를 사용하여 디자인 패턴 학습: 간단한 팩토리
? 팩토리 패턴은 단순 팩토리 패턴, 팩토리 메소드 패턴, 추상 팩토리 패턴으로 나뉘는데, 여기서 소개하는 심플 팩토리 패턴이 가장 간단한 것인데, 계속해서 팩토리 메소드를 올려보겠습니다. 패턴, 추상 팩토리 패턴 등의 후속 기사는 귀하의 반응에 따라 달라집니다!
디자인 패턴을 학습하려면 객체 지향 프로그래밍, 특히 다형성에 대한 이해가 필요합니다. //Fruit 클래스는 추상 제품입니다. TFruit = Class(TObject) end;//사과 과일 클래스의 구체화 TApple = class(TFruit) end;function Factory(): TFruit;varf:TFruit;begin //핵심은 TApple 객체를 명확하게 생성하는 이 명령문입니다.// 그러나 이를 다음에 할당합니다. TFruit 유형의 변수//사실 이렇게 하면 이점이 큽니다. f:=TApple Create(); result:=f;end
? 루틴 인터페이스를 잘 이해하지 못한다면 추상 클래스보다 더 추상적인 클래스로 취급할 수 있습니다. 간단히 말해서 클래스로 취급해 보겠습니다.
설명은 이렇습니다
//간단한 공장이 무엇인지 설명하기 위해 작은 과수원을 사용했습니다//이 과수원에는 포도, 사과, 딸기 세 가지 과일이 있습니다//모두 과일에는 재배, 농사, 수확의 세 단계가 있습니다//과수원의 임무는 포도, 사과, 딸기 세 가지 과일 개체를 구하는 것입니다. // 획득한 개체를 사용하여 과일 성장, 농사, 수확의 세 단계를 완료할 수 있습니다. // 과수원은 우리가 말하는 단순한 공장(Factory) // 그리고 포도, 사과, 딸기 세 가지 과일은 공장의 제품(Pruduct) //제품이 완성되는 과정을 외부 사용자(Produce)라고 합니다 //간단한 팩토리를 사용하는 장점은 // 다형성을 최대한 활용한다는 점입니다. // 어떤 종류의 과수원을 심든 상관없이 반환됩니다. 객체는 특정 포도, 사과, 딸기가 아니라 // 추상 객체인 과일 중 하나를 반환합니다. (IFruit) // encapsulation을 최대한 활용 // 내부 제품이 변경되어도 외부 사용자는 영향을 받지 않음 // 단점 Yes//새로운 제품이 추가되면 공장을 수정해야 함
이 간단한 팩토리를 정의하는 유닛 파일의 소스 코드 lishixinzhi/Article/program/Delphi/201401/30259