pattern 4

[Effective C#] C# 표준 Dispose 패턴 이해하기

Implement a dispose pattern -> Link - .Net Framework 내부에서 비관리 리소스를 정리하는 표준화된 패턴 - 개발자들에게 IDisposable 인터페이스를 통해 리소스를 삭제할 수 있는 기능을 안정적으로 제공한다. - 비관리 리소스를 명시적으로 정리해야 한다는 사실을 잊거나 인지하지 못한 경우에도 finalizer를 통해 리소스가 정리될 수 있도록 해준다. 베이스 클래스에서의 작업 - 리소스를 정리하기 위해 IDisposable 인터페이스를 구현한다. - 멤버 필드로 비관리 리소스를 포함하는 경우에 한해 방어적으로 동작할 수 있도록 반드시 finalizer를 추가한다. -> 사용자가 Dispose()메서드를 항상 올바르게 호출할 것이라고 가정할 수 없다. 비관리 리소..

개발/C# 2021.01.02

6. Singleton Pattern(싱글턴 패턴)

Singleton Design Pattern(싱글턴 패턴) Define 싱글턴 패턴은 해당 클래스의 인스턴스가 하나만 만들어지고, 어디서든지 그 인스턴스에 접근할 수 있도록 하기 위한 패턴. Structure>- 클래스에서 자신의 단 하나뿐인 인스턴스를 관리하도록 만든다. 그리고 다른 어떤 클래스에서도 자신의 인스턴스를 추가로 만들지 못하도록 한다. 인스턴스가 필요하면 반드시 클래스 자신을 거치도록 한다.- 또한 어디스든 이 인스턴스에 접근할 수 있도록 만든다. - getInstance()메소드는 정적 메소드로 어디서든 호출 가능,- 생성자를 private로 선언하여 외부에 노출이 되지 않도록 한다.Advantage - 시스템 상 전역으로 관리되고 단하나의 클래스에서만 정보가 유지되는 것을 원할 때 사용..

5. Abstract Factory Pattern(추상 팩토리 패턴)

Abstract Factory Design Pattern(추상 팩토리 패턴) Define 추상 팩토리 패턴에서는 인터펫이스를 이용하여 서로 연관된, 또는 의존하는 객체를 구상 클래스를 지정하지 않고도 생성할 수 있습니다. Structure 추상 팩토리 패턴을 사용하면 클라이언트에서 추상 인터페이스를 통해 일련의 제품들을 공급받을 수 있다. 이때 실제로 어떤 제품이 생산되는지는 알 필요 없어서 클라이언트와 팩토리에서 생산되는 제품을 분리시킬 수 있다. PlatformOne, PlatformTwo는 구상 팩토리로, 서로 다른 제품군을 구현한다. 클라이언트에서 제품이 필요하면 이 팩토리 가운데 적당한 걸 골라서 쓰면 되기 때문에 제품 객체의 인스턴스를 직접 만들 필요가 없다. Advantage - 팩토리메소드..

4. Factory Method Pattern(팩토리 메소드 패턴)

Factory Method Design Pattern(팩토리 메소드 패턴) Define 팩토리 메소드 패턴에서는 객체를 생성하기 위한 인터페이스를 정의하는데, 어떤 클래스의 인스턴스를 만들지는 서브클래스에서 결정하게 만듭니다. 팩토리 메소드패턴을 이용하면 클래스의 인스턴스를 만드는 일을 서브클래스에게 맡기는 것이다. Structure Creator추상 클래스에서 객체를 만들기 위한 메소드, 즉 팩토리 메소드를 위한 인터페이스를 제공. 실제 팩토리 메소드를 구현하고 제품(객체 인스턴스)를 만들어내는 일은 서브클래스에서만 할 수 있다.사용하는 서브클래스에 따라 생산되는 객체 인스턴스가 결정 Advantage - 객체의 생성을 한군데서 관리할 수 있다. - 동일한 인터페이스 구현으로 새로운 객체가 추가되더라도..

반응형