728x90 반응형 디자인패턴70 2021.12.04_프로토타입패턴02.패턴적용하기 이전과는 다르게 , 자바에서 사용하는 기능으로 사용함 다음에 커스텀하는 방법까지 배울 예정 clone은 public에 없어서 바로는 안됨 object에 있음 쓸 수 없는것이 protected 이기 때문에 clone을 지원하고 싶은 클래스가 있으면 implement Cloneable 선언해준다. @Override protected Object clone() throws CloneNotSupportedException { return super.clone(); } super.clone();으로 해서 보내줘도됨 Clone(); 사용전 준비 public static void main(String[] args) throws CloneNotSupportedException{ 위와 같이 throws CloneNotS.. 2021. 12. 4. 2021.12.02_프로토타입패턴01.패턴소개 기존 인스턴스를 복제하여 새로운 인스턴스를 만드는 방법 기존 객체응용해서 새로운 객체 만들때 데이터 베이스 읽어와서 네트워크 http를 기반으로 만들어야한다면 그 인스턴스 만들때 마다 오래 걸리고 리소스를 많이 사용함 다 복사해서 새로운 인스턴스 만들어서 일부분만 고쳐쓴다면 더 빠르게 사용가능함 구현이 없는 clone()이라는 매소드를 복제기능을 제공할 클래스들이 해당 클래스 구현할 수 있게하는것 GithubRepository.java package me.whiteship.designpatterns._01_creational_patterns._05_prototype._01_before; public class GithubRepository { private String user; private Strin.. 2021. 12. 4. 2021.11.21_추상팩토리패턴04.자바와스프링에서찾아보는패턴 추상팩토리 패턴 실무에서 사용 public class DocumentBuilderFactoryExample{ public static void main(String[] args) throws ParserConfigurationException, IOException, SAXException{ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.parse(new File("src/main/resources/config.xml")); System.out.println(document.g.. 2021. 11. 21. 2021.11.21_추상팩토리패턴03.장단점 우리가 보는 각도에 따라서 사물의 형태가 다를 수 있음 산이라는 자체는 그대로 인데 다를 수 있다는 의미 객체를 만드는 과정에 중점되어 있음 객체 만드는 과정을 추상화 한것음 맞지만 concreate 타입 을 만드는 과정을 그것을 숨기고 추상화 되어있는 것을 제공하는 것을 말한다. 클라이언트 관점에서 팩토리를 통해서 추상화된 인터페이스만 사용하게 하기 때문에 클라이언트 입장에서 concreate를 직접 참조해서 쓸 필요가 없음 팩토리 메소드 패턴과 추상 팩토리 패턴의 차이 모양과 효과는 비슷 둘다 구체적인 객체 생성 과정을 추상화한 인터페이스 제공 관점이 다름 팩토리 메소드 패턴은 팩토리를 구현하는 방법에 초점 추상 팩토리 패턴은 팩토리를 사용하는 방법에 초점 목적이 다름 팩토리 메소드 패턴은 구쳊거인 .. 2021. 11. 21. 이전 1 ··· 12 13 14 15 16 17 18 다음 728x90 반응형