prototype pattern, 즉 원형패턴이란 원형이 되는 인스턴스를 활용해서 새로운 객체를 생성하는 생성패턴 중 하나이다. 원형패턴을 사용함으로써, 미리 원형으로 초기화를 해두고, 나중에 이와 같은 객체를 생성할때, 다시 초기화하지 않아도 되는 편리성을 제공한다. 즉, 새로운 객체는 일반적인 방법으로 객체를 생성(create)하는 고유의 비용이 매우 클 때, 이 비용을 감내하지 않을 수 있게 해준다. 또한, 런타임에 새로운 제품을 추가 및 삭제가 가능하고, 값들을 다양화할 수 있다. 일반적으로 원형패턴의 구조는 다음과 같다. 원형 패턴을 구현하기 위해서는 원형클래스를 다루는 원형 관리자가 있어야한다. 그리고, 복사를 해야하기 때문에, Clone연산이 필요하다. 간단하게 구현해보자. 게임에서 흔히 나..
의존성을 낮출 수 있는 생성패턴의 하나로 생성 방법이 바뀔 때마다 새로운 매개변수를 넘겨받음으로써, 생성할 객체의 유형을 바꿀 수 있는 추상 팩토리 패턴에 대한 예를 적어보고자 한다. 이런 생성 패턴을 사용하는 이유 중 가장 큰 이유가 의존성의 낮춤으로써, 유연성을 확보하는 데 목적을 둔다. 이 패턴을 설명하기위해 로봇을 생성하는 프로그램을 간단하게 제작해 보겠다. 우선, A, B, C라는 공장이 있다. A공장에서는 청소로봇을 생산하고, B공장은 전투로봇을 생산한다. 그리고 , C공장은 요리로봇 생산한다. 사용자는 청소로봇을 필요로 해서, A공장에 찾아가서 로봇을 만들어달라고 한다. 이 상황을 코드로 옮겨 보자. Client RobotFactory factory = new ARobotFactory(); ..
요즘 블러효과로 꾸며진 어플리케이션이 자주 나온다. 스크롤을 내렸을때, 정해진 지점까지 블러효과를 낼 수있는 방법에 대해 알아보자. 블러효과는 16버전 이후에 나온 기능이다.public static Bitmap blur(Context ct, Bitmap sentBitmap, int radius) { if (VERSION.SDK_INT > 16) { Bitmap bitmap = sentBitmap.copy(sentBitmap.getConfig(), true); final RenderScript rs = RenderScript.create(ct); final Allocation input = Allocation.createFromBitmap(rs, sentBitmap, Allocation.MipmapCont..
- Total
- Today
- Yesterday