Replace Constructor With Factory Method Refactoring  

 

�� ������ ��ſ��� Replace Constructor With Factory Method  ï¿½ï¿½ï¿½ï¿½ï¿½ä¸µ ��ɿ� ���� ��������  overview��  how  ï¿½ï¿½ �����丵�� IntelliJ IDEA���� ���� �� �ִ°��� �����մϴ�.

����


Replace Constructor With Factory Method  �������� ����� ����� ���� �� Ŭ������ �ν��Ͻ��� �����ϴ� ������ �޼ҵ���� �� ���� �����ڷ� ��ü�� �ʿ䰡 �ִ� ��쿡 �����մϴ�.


���� ���, ����� ������ �� Ŭ������ �����ϴ�:

 
public class Connection {
    public Connection(String URL){
        //some code here
    }
}
 
public class ConnectionPool {
    public Connection getConnection(String name){
        Connection conn = new Connection(name);
    }
    //some code here
}

 

�����丵 ���� �ڵ�� �̷��� ���� ���Դϴ�:  
 
private class Connection {
    private Connection(String URL){
        //some code here
    }
 
    public static Connection createConnection(String URL) {
        return new Connection(URL);
    }
}
 
public class ConnectionPool {
    public Connection getConnection(String name){
        Connection conn = Connection.createConnection(name);
    }
    //some code here
}

 
������ ���� ������ �޼ҵ� �ݷ� ��ü�˴ϴ�.

�����ڸ� ���丮 �޼ҵ�� ��ü


�����ڸ� ���丮 �޼ҵ�� ��ü�ϱ� ���ؼ�:

 1.   ï¿½ï¿½ï¿½ï¿½ï¿½ �ν��Ͻ��� ���� �����Ǵ� Ŭ������ ���� �ʿ䰡 �ֽ��ϴ�.

 2.   Ä³ï¿½ï¿½ï¿½ï¿½ ���丮 ���� ��ü�� ������ ������ �����ϰ� ���� �޴����� �Ǵ� �����Ϳ��� ������ ��ư�� Ŭ���ϴ� �Ϳ� ���� �ҷ����� �˾� �޴����� Refactor Replace Constructor With Factory Method...�� Ŭ���Ͻʽÿ�

 3.   ï¿½ï¿½ï¿½ï¿½ï¿½ Replace Constructor With Factory Method  ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ ���� ��  ï¿½ï¿½ï¿½Ô´Ï´ï¿½.

�̸�

���丮 �޼ҵ忡 ���� IDEA�� ���� ���ȵ� �ϳ��� �����ϰų� ��� �ڽ��� �̸��� �Է��Ͻʽÿ�.

In (fully  qualified name)  

���丮 �޼ҵ尡 ��ġ�Ǵ� ����� �ڰ��� �־��� Ŭ���� �̸��� �Է��Ͻʽÿ�.  ï¿½ï¿½ �ٸ� ����� �ʿ��� Ŭ������ ellipsis ��ư�� ������ �ҷ����� Choose Destination Class ï¿½ï¿½ï¿½Ì¾ï¿½Î±×¿ï¿½ï¿½ï¿½ � �� �Դϴ�.

����� �̸� ���� ���

üũ �ڽ��� �����ϸ� ��ſ��� � ����� �߰ߵǾ����� ��� ����ϰ� �ְ�, �׵��� ��ü�� �����ϵ��� ����մϴ�. �� üũ �ڽ��� ���õ��� ���� ��, IDEA�� ��ü�� �ڵ������� �����մϴ�.


������ üũ �ڽ��� Ȯ�ε��� �ʾ��� ����, ���� �߰ߵ� ����� � �б� ���� ���Ͽ��� �����ϸ� ��ſ��� ��� ��ü�� Ȯ���ϱ� ���� ������Ʈ �� �� �Դϴ�.


Refactoring Preview ï¿½ï¿½ï¿½Ì¾ï¿½Î±×¿ï¿½ï¿½ï¿½ (���� �װ��� ��Ÿ����) ����� ����� ������ ��� �� �ֽ��ϴ�.  ï¿½ï¿½ï¿½ï¿½ï¿½ä¸µï¿½ï¿½ �Բ� �����ϱ� ���ؼ�, Do Refactor�� Ŭ���մϴ��׷��� �ʴٸ� Cancel �� Ŭ���մϴ�. ���� ���� ������ Refactoring Preview�� ���ʽÿ�.

 

Ư���� �ּ�


�����丵�� �����ϸ鼭 ����� ������ �˾ƾ� �մϴ�:

 1.  ï¿½ï¿½ï¿½Î¿ï¿½ ���丮 �޼ҵ�� �������� �Ͱ� �Ȱ��� ���ü��� ����ϴ�.

 2.   ï¿½ï¿½ï¿½ï¿½ï¿½Ú´ï¿½ ���丮 �޼ҵ�(���� ���, private  ���� ������ �� Ŭ���� ���� ��ġ�Ѵٸ�)�� ���� �׼��� ������ �ּ��� ���ü��� �־����ϴ�.

 3.   ï¿½Ïºï¿½ Ư���� �̽��� ���� Ŭ������ ���谡 �ֽ��ϴ�.  ï¿½ï¿½ï¿½ä¸® �޼ҵ�� �ܺ� Ŭ���� ���� �� �������� ������ �� �ֽ��ϴ�.