본문 바로가기

소프트웨어공학16

추상 팩토리 (abstract factory Pattern ) 추상 팩토리 (abstract factory Pattern ) 추상 팩토리 패턴은 객체 생성시 구체적인 특정클레스에 의존하지 않고 추상화된 객체를 의존함으로 결합도를 낮춰주고 기존 코드를 수정하지 않고(최소한의 수정으로) 상황에 따라 필요한 객체를 생성하여 사용 할 수 있다. 특징 새로운 모듈이나 기능이 추가되었을대 기존에 작성하였던 코드를 손대거나 수정하지 않고 추상팩토리로 상속받아 모듈을 구현함으로 새로운 기능을 추가할수있다. 추상화한 객체를 의존함으로 결합도가 높은 클레스의 결합도를 낮춰주고 느슨하게 만들어 준다. 추상팩토리패턴은 메서드팩토리패턴과 전혀 성격이 다르다. 또한 추상팩토리 패턴이 메소드팩토리 패턴보다 상위기념이거나 호환할수있는 개념이 아니라는것을 알아두고 가자 팩토리 메소드 패턴 인스턴.. 2022. 12. 15.
팩토리 메소드 패턴(Factory method pattern / Factory pattern) 팩토리 메소드 패턴(Factory method pattern / Factory pattern) 생성패턴에 속한 팩토리 메소드패턴(Factory Method pattern)은 보통 팩토리 패턴(Factory Pattern )으로도 알려져 있다. 여러 가지 샘플과 개념들이 많다보니 조금 햇갈릴수있는데 여기서 개념을 확실하게 하고 가야한다. 성패턴에 속한 팩토리 패턴엔 3가지가 있다. 심플팩토리 패턴 - 인스턴스화 로직을 클라이온트에 노출시키지 않고 객체를 장성하고 공통인터페이스를 통해 새로 작성된 객체를 참조한다. 팩토리메서드 패턴 - 오브젝트를 생성하기위한 인터페이스를 정의하지만 서브클레스에서 인스턴스화 시킬 클래스를 결정하고 공통인터페이스를 통해 새로 만들어진 오브젝트를 참조하도록 한다. 추상팩토리 패턴.. 2022. 12. 9.
템플릿 메소드 (Template Method Pattern) 템플릿 메소드 (Template Method Pattern) 소프트웨어 공학에서 동작상의 알고리즘의 뼈대를 정의하는 디자인패턴이다. 알고리즘의 구조를 변경하지 않고 특정 단계들을 다시 정의 할 수 있게 해준다. - 위키 템플릿 메소드 패턴은 슈퍼클래스에서 처리의 흐름을 제어하며 서브 클래스에서 그 처리의 구체적인 기능을 구현하는 패턴이다. 여러개의 서브클래스에서 공통으로 사용하는 기능은 수퍼클레스에서 구현하고 다른 기능들은 서브클레스에서 구현한다. 전체적인 알고리즘의 구조(작업 플로어가 동일함)는 같으나 세부적인 내용이달라 각 서브클래스마다 다르게 구현해야 할때 사용한다. 예시 (1) : 케릭터 생성 및 최초 듀토리얼 진행 게임케릭터 생성후 최초 튜토리얼 진행시 같은 패턴으로 진행되나 보상받는 아이템이 .. 2022. 11. 30.
디자인 패턴(Software design pattern) 이란? 디자인 패턴은 여러 분류로 그룹화 되어 있으며, 크게 3세가지로 나뉜다. 보통 우리가 알고 있거나 자주 이야기 되는 패턴은 생성패턴, 구조패턴, 행동패턴이며, 그외에도 동시실행 패턴도 있다. UML과 같은 일종의 설계 기법 및 설계방법이며, 소프트웨어 엔지니어링에서 디자인패턴은 소프트웨어 디자인시에 일반적으로 발생되는 문제이대한 일반적인 해결책이다. 디자인 패턴으로 코드를 직접 변환하거나 디자인한다고 해서 해결되는 것은 아니며, 이를 해결하기 위한 설명 혹은 템플릿 이라 생각하면 된다. 사용하는(패턴 화된) 이유 ? 다른 사람이 작성한코드를 보고 이해하는건 쉽지 않다. 이해되지 않는 코드드를 수정하거나 새로운 기능을 추가할때는 의도치 않은 결과나 버그가 발생되곤 한다. 디자인 패턴을 사용하한다면 이는 위.. 2022. 11. 30.