Developer/Pattern 3

iOS 아키텍처 VIPER

iOS 아키텍처를 공부하다 VIPER란걸 접하게 되었고,VIPER을 정리하는 포스팅이다. Apple에서는 MVC 아키텍처를 사용을 권하고 그에대한 개발문서도 있다(링크)하지만 Apple이 설명하는 MVC는 Model이 View에 접근해 화면에 데이터를 뿌려주는게 아니라,Controller가 View와 Model의 중간역할을 하기 때문에 MVP 패턴에 가깝다고 생각된다. 하지만 이런 아키텍쳐는 Controller(iOS에선 ViewController)에서 하는 일이 너무나 많아진다.그래서 코드가 길어지고 중복되는 코드가 많아져서 단점이 있다. 그걸 해결하는게 바로 VIPER 이다.VIPER란 패턴을 처음 접했지만, 기존에 내가 코딩하는 패턴과 크게 다르지 않았다.역시 패턴은 어떠한 패턴이 중요한게 아니고,..

Developer/Pattern 2018.06.22

[Object-c]DecoratorPattern - 데코레이터 패턴

데코레이터 패턴 - 테코레이터 패턴은 객체의 추가적인 요건을 동적으로 추가할 수 있습니다.- 데코레이터는 서브 클래스를 만드는 것을 통해서 기능을 유연하게 확장할 수 있습니다.- 한 객체를 여러 개의 데코레이터로 감쌀 수 있습니다.- 기존 코드를 수정하지 않고도 행동을 확장할 수 있습니다. 요약하면 기존의 코드를 수정하지 않고 객체를 여러개의 데코레이터로 감사서 유연하게 확장해 추가적인 동작을 수행할 수 있습니다. 코드 설명 여행을 계획을 짜는 도중에, 여행비용을 계산하기 위한 어플을 만들려고 합니다.자유여행을 위해 먹는것과 노는것은 직접 가서 결정하기로 하고, 여행 가기전에는 에어텔(비행기+호텔)만 예약하려고 합니다.여러가지 조합이 있어서 선택 후 가격을 알아보려고 합니다. 투어 클래스에서 항공사, 호..

Developer/Pattern 2016.04.20

[Object-c]FactoryPattern - 팩토리 패턴

(소스 주소 : https://github.com/minjoongkim/iOS-Pattern) 팩토리 패턴이란?객체 생성을 처리하는 패턴입니다. 어떠한 경우에 사용하는가?예를들어 책이라는 클래스가 있고, 그 하위에 만화책, 소설책이라는 클래스가 있습니다. 만화책, 소설책은 책이라는 큰 범위안에 각자가 해야할 메소드들이 따로 있습니다. 어떠한 정보를 받아서 클래스로 생성할때, 매번 if문으로 만화책인지 소설책인지 판단해서 클래스를 만들게 되면 번거롭고 틀릴수도 있기 때문에 이 부분을 띄어서(나눠서) 팩토리 메소드를 만들게 됩니다.그렇게 되면 객체를 생성할때마다 팩토리 메소드에 객체생성을 하도록 지시하면 객체를 생성해서 반환하게 됩니다. 팩토리 패턴을 사용하게 되면?이렇게 되면, 객체생성의 버그를 줄일수 있..

Developer/Pattern 2016.04.19