Kelly's journey to a coding master

Factory Method & Abstract Factory 본문

Design Patterns

Factory Method & Abstract Factory

개발하는 통계학도 켈리 2023. 5. 3. 22:54

< Factory Method patterns vs. Abstract Factory patterns>

https://victorydntmd.tistory.com/300

 

[디자인패턴] 추상 팩토리 패턴 ( Abstract Factory Pattern )

추상 팩토리 패턴 ( Abstract Factory Pattern )추상 팩토리 패턴이라는 이름만 봐서는 팩토리 메서드 패턴과 비슷해보이지만, 명확한 차이점이 있습니다. 팩토리 메서드 패턴조건에 따른 객체 생성을

victorydntmd.tistory.com

 

1) Factory Method 

https://bcp0109.tistory.com/367

 

Factory 패턴 (2/3) - Factory Method (팩토리 메서드) 패턴

1. Overview Factory 패턴은 객체 생성과 관련된 디자인 패턴입니다. 1편에서 봤던 Simple Factory 는 객체 생성 역할을 담당하면서 각 클라이언트에서 구현 클래스에 직접 의존하지 않도록 분리했습니다.

bcp0109.tistory.com

public interface User {
	void signup();
}

public class NaverUser implements User{
	@Override
	public void signup() {
		System.out.println("네이버 아이디로 가입");
	}
}

public class KakaoUser implements User{
	@Override
	public void signup() {
		System.out.println("카카오 아디이로 가입");
	}
}
public abstract class UserFactory {
	public User newInstance() {
		User user = createUser();
		user.signup();
		return user;
	}
	protected abstract User createUser();
}

public class NaverUserFactory extends UserFactory{
	@Override
	protected User createUser() {
		return new NaverUser();
	}
}

public class KakaoUserFactory extends UserFactory{
	@Override
	protected User createUser() {
		return new KakaoUser();
	}
}
public class Client {

	public static void main(String[] args) {
		UserFactory userFactory = new NaverUserFactory();
		//UserFactory userFactory2 = new KakaoUserFactory();
		User user = userFactory.newInstance();
		//User user2 = userFactory2.newInstance();
	}
}

 

 

'Design Patterns' 카테고리의 다른 글

Singleton patterns  (0) 2023.05.03