不是网上的例子,是真正的项目里面的。也就是说在项目里什么情况下适合用静态工厂模式。
我下举个例子,不知道对不对:
有一个系统,要同时支持多种数据库,不是为了将来能跨数据库移植,而是数据的来历多种多样,有的来自MySQL的表,有的来自Oracle的表,等等,多种DB要同时支持。这是把DAO定义成一个接口,然胡用一个静态方法来根据传入的参数产出各种DAO的实现,比如参数==1,就return new MySQLDao(); 参数==2,就return new OracleDao();