본문 바로가기

분류 전체보기95

JPA 내부구조 알아보기 엔티티의 생명주기 비영속(new/reansient) - 영속성 컨텍스트와 전혀 관계가 없는 상태 영속(managed) - 영속성 컨텍스트에 저장된 상태 준영속(detached) - 영속성 컨텍스트에 저장되었다가 분리된 상태 삭제(removed) - 삭제된 상태 영속 //객체를 생성한 상태(비영속) Member member = new Member(); member.setId("member1"); member.setUsername("회원"); EntityManager em = emf.createEntityManager(); em.getTransaction().begin(); //객체를 저장한 상태(영속) em.persist(member); 비영속 //객체를 생성한 상태(비영속) Member member = .. 2020. 9. 14.
Template Method Pattern 알고리즘의 구조를 메소드에 정의하고 하위 클래스에서 알고리즘 구조의 변경없이 알고리즘을 재정의 하는 패턴 구현하려는 알고리즘이 일정한 프로세스가 있다. 구현하려는 알고리즘이 변경 가능성이 있다. 알고리즘은 여러 단계로 나눈다. 나눠진 알고리즘의 단계를 메소드로 선언한다. 알고리즘을 수행할 템플릿 메소드를 만든다. 하위 클래스에서 나눠진 메소드들을 구현한다. public abstarct class AbstGameConnectHelper{ protected abstarct String doSecurity(String string); protected abstarct boolean authentication(String id , String password); protected abstarct int auth.. 2020. 9. 1.
어댑트 패턴(Adapter Pattern) public class Math { public static double twoTime(double num){ return num*2; } public static double half(double num){ return num/2; } public static Double double(Double d) { return d*2; } } public interface Adapter{ public Float twiceOf(Float f); public Float halfOf(Float f); } public class AdapterImpl implements Adapter { @Override public Float twiceOf(Float f) { Math.twoTime(); } @Override publ.. 2020. 8. 25.
전략 패턴(Strategy Pattern) 전략 패턴 각 객체들이 할 수 있는 행위들을 각 전략클래스에 생성하고, 각 전략클래스는 하나의 추상적인 접근점 (인터페이스)를 상속받아 각각 자신의 행위들을 정의한다. 행위를 변경하고 싶을때마다 전략을 바꾸는 코드로 유연하게 개발할 수 있다. 예제 public interface Weapon { public void attack(); } public class knife implements Weapon { @Overide public void attack() { System.out.println("검 공격"); } } public class Ax implements Weapon { @Overide public void attack() { System.out.println("도끼 공격"); } } publi.. 2020. 8. 23.