본문 바로가기
728x90
반응형

프로그래밍32

[Design Pattern]Abstract Factory Pattern이란? Abstract Factory Pattern이란 추상 팩토리 패턴은 많은 수의 연관된 서브 클래스를 특정 그룹으로 묶어 한번에 교체할 수 있도록 만든 패턴. 예로 안드로이드 버전에 따라 지원하는 기능이 다르다면 추상 팩토리 패턴을 사용해 업데이트하면 버전별 기능을 통합적으로 변경 할 수 있다. factory method pattern과 유사하지만 fatory를 좀 더 생산적으로 만들 수 있다. 기존 팩토리 패턴에서와 달리 if-else 구문을 없애고 sub class마다 factory class를 가지게한다. Abstract Factory에서는 input factory class를 통해 해당 sub class를 반환한다. MachineA, MachineB public interface MachieA{ p.. 2019. 1. 17.
[Design Pattern]Factory Method Pattern이란? Factory Method Pattern이란? 객체를 만들어내는 부분을 서브 클래스에 위임하는 패턴. super class와 여러 개의 sub class가 있는 상황에서 input이 발생하면 하나의 sub class를 반환해야 할 때 사용된다. 쉽게 말해 new를 사용해 호출하는 부분을 서브 클래스에 위임하는 ㄱ Super class factory pattern에서 super class는 interface, abstract class 또는 일반적인 class가 될 수 있다. 예제에서는 출력을 보기 위해 toString() method를 오버라이드 한다. public abstract class Product { public abstract String getName(); public abstract int.. 2019. 1. 17.
[Design Pattern]Singleton이란? Singleton이란? 프로그램상에서 동일한 인스턴스를 만들어 내는 것이 아닌 동일 인스턴스를 사용하게 하는 것 동일한 컨넥션 객체를 만든다던지, 하나만 사용되어야 하는 객체를 만들때 사용한다. 매우 자주 쓰이는 패턴중 하나이다. Singleton Pattern들 Eager Initialization 가장 기본적인 Singleton Pattern. 먼저 클래스 내에 전역변수로 instance 변수를 생성하고 private static을 사용하여 인스턴스화에 상관없이 접근이 가능하면서 동시에 private 접근제한자를 사용하여 class.instance로 바로 접근 할 수 없도록 한다. 또 생성자에도 private 접근제한자를 붙여서 다른 클래스에서 new 방식의 새로운 인스턴스를 생성하는 것을 방지한다... 2019. 1. 17.
[프로그래밍]Design Pattern Outline, 디자인 패턴이란? 디자인 패턴이란?소프트웨어 설계할 때 또는 프로그램 개발과정에서 특정 부분에서 많이 발생하는 문제를 정리하여상황에 따라 해결할 수 있는 해결책(패턴) 패턴이란?다양한 소프트웨어들로 각기 다른 프로그램을 개발하는 과정에서 공통적인 문제점 또는 유사한 문제점이존재하고 이를 처리하는 과정도 공통점이 있는데 이러한 유사점을 패턴이라 한다. 디자인 패턴구조Context : 문제발생 상황 기술 -> 패턴이 적용될 상황 기술 패턴이 항상 유용한 것은 아니다.Problem : 패턴적용으로 해결되어야 할 디자인 이슈들을 기술 여러 제약사항과 영향력도 문제 해결을 위해 고려Solution : 문제를 해결하도록 설계를 구성하는 요소들과 그 요소들 사이의 관계, 책임, 협력 관계를 기술 해결은 반드시 구체적인 구현 방법, 언.. 2019. 1. 16.
[c#] Bitmap.Clone() vs new Bitmap Bitmap.Clone() vs new Bitmap 비교 Bitmap.Clone()Bitmap A = new Bitmap("somefile.png"); Bitmap B = (Bitmap)A.Clone();Bitmap.Clone() 메서드는 새 비트맵 개체를 생성하지만 픽셀 데이터는 원래 비트맵 개체와 공유 new Bitmap()Bitmap A = new Bitmap("somefile.png"); Bitmap B = new Bitmap(A);new Bitmap() 생성자는 픽셀 데이터의 자체 복사본이 있는 비트맵 개체를 새로 생성한다. 그런데Bitmap.Clone()은 비트맵을 dispose() 코드에 대한 참조를 전달하고 개체를 손실하지 않으려는 경우에만 사용해야 한단다. 왜냐하면 원본 파일을 잠금상태로.. 2018. 9. 4.
728x90
반응형