본문 바로가기
728x90
반응형

전체 글63

[Design Pattern]Adapter Pattern이란? Adapter Pattern이란? 관계가 없는 인터페이스들이 같이 일할 수 있도록 도와주는 패턴이다. 두개의 인터페이스를 이어주는 인터페이스를 adapter라 한다. 예제public class Line { private int lines; public Line(int line) { this.lines = line; } public int GetLines() { return this.lines; } public int SetLines(int line) { this.lines = line; } } public class Station { public Line GetLine() { return new Line(1); } }Station클래스는 1호선만 다닐 수 있다. 하지만 4호선 9호선도 같이 다닐 수 있으.. 2019. 1. 18.
[Design Pattern]Prototype Pattern이란? Prototype Pattern이란? 패턴 내에서 객체의 생성을 제공한다. 객체 생성이 높은 비용으로 수 많은 요청을 하는경우나 비슷한 객체를 지속적으로 생성해야 할 때 사용한다. prototype pattern은 원래의 객체로부터 clone()을 사용하여 새로운 객체를 만들며 각 객체에 따라 데이터 수정이 가능하다. 예제 public class Users implements Cloneable { private List userList; public Users() { userList = new ArrayList(); } public Users(List list) { this.userList = list; } public void loadData () { userList.add("ssw"); userLis.. 2019. 1. 17.
[Design Pattern]Builder Pattern이란? Builder Pattern이란? factory pattern이나 abstract factory pattern과 비슷하다.이 두 패턴은 중대한 문제점이 있다. factory pattern / abstract factory pattern 문제점 3가지 - 호출하는 클래스로부터 많은 인자(파라메터)들이 전달된다. -> 에러발생이 많아질 수 있다. 인자들의 type을 정확히 맞추기 어렵기 때문이다. - 몇몇 파라메터들을 보내고 싶지만 모든 인자를 전송해야한다. - 생성시키는 객체가 많은 정보를 필요로 한 경우(파라메터가 많다 = 생성되어야 하는 객체가 무겁다) 만들기가 복잡해진다. Builder Pattern은 파라메터가 많던지 적던지 일관성있게 차례차례 제공해준다. 예제public class Product .. 2019. 1. 17.
[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.
뒤틀린 골반 교정 스트레칭 및 자세 나는 몸신이다 방송에서 나온 골반 스트레칭입니다.우리 같이 하루 5분만 투자해봅시다!자기전에 고고! 몇번 해보니 힘든자세가 있어요 ㅠㅠㅠㅠ더 열심히 해야할듯 합니다.. 다들 화이팅! 2019. 1. 14.
[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
반응형