Which group of method is moved to a new class when implementing the DAO pattern?

Given:

Which group of method is moved to a new class when implementing the DAO pattern?

Given:

Which group of method is moved to a new class when implementing the DAO pattern?

A.
public in getId ()
public String getContractDetails ()
public Void setContractDetails(String contactDetails)
public String getName ()
public void setName (String name)

B.
public int getId ()
public String getContractDetails()
public String getName()
public Person getPerson(int id) throws Exception

C.
public void setContractDetails(String contractDetails) public void setName(String name)

D.
public Person getPerson(int id) throws Exception
public void createPerson(Person p) throws Exception
public void deletePerson(int id) throws Exception
public void updatePerson(Person p) throws Exception

Explanation:
The methods related directly to the entity Person is moved to a new class.

Note:DAO Design Pattern
*Abstracts and encapsulates all access to a data source *Manages the connection to the data source to obtain and store data *Makes the code independent of the data sources and data vendors (e.g. plain-text, xml, LDAP, MySQL, Oracle, DB2)

Example (here Customer is the main entity):
public class Customer {
private final String id;
private String contactName;
private String phone;
public void setId(String id) { this.id = id; }
public String getId() { return this.id; }
public void setContactName(String cn) { this.contactName = cn;} public String getContactName() { return this.contactName; } public void setPhone(String phone) { this.phone = phone; } public String getPhone() { return this.phone; }
}

public interface CustomerDAO {
public void addCustomer(Customer c) throws DataAccessException; public Customer getCustomer(String id) throws DataAccessException; public List getCustomers() throws DataAccessException; public void removeCustomer(String id) throws DataAccessException; public void modifyCustomer(Customer c) throws DataAccessException; }



Leave a Reply 2

Your email address will not be published. Required fields are marked *