简单工厂,就是用来创建接口,抽象类或者普通类的实例,但是简单工厂是放在一个模块中,客户端只是通过工厂去获得一个接口,但是这个接口是如何实现的,用户是不知道的,起到封装的作用,同时没有把具体的实现加到融合到客户端中,起到了隔离的作用。
在平常中,我们都是这么写的 UserDAO userDao = new UserDaoImpl(),userDao.addUser() 这并不是面向接口的编程的,顶多是一个多态的应用,因为面向接口编程要起到“封装隔离”的作用,
在开发中何时用到简单工厂呢,一:想要完全封装具体的实现,让外界只能通过接口来操作具体实现,此时就可以选用简单工厂,让客户端获得接口,无需要知道具体的实现,
二:如果你创建了很多的对象,要对这些对象进行集中管制,也可以用简单工厂,一个简单工厂可以创建很多相关的,或者不相关的对象,可以把创建的对象的职责交给工厂,这样进行集中的管理和控制,
三,简单工厂的本质是:选择实现,是选择