作家
登录

记录自己理解的一些设计模式

作者: 来源: 2017-04-08 19:03:08 阅读 我要评论

null 
  • switch (type) {  
  • case "db" 
  • repository = new DatabaseRepository();  
  • break;  
  • case "cache" 
  • repository = new CacheRepository();  
  • break;  
  • case "file" 
  • repository = new FileRepository();  
  • break;  
  •  
  • return repository;  
  •  
  • public static void main(String[] args) {  
  • RepositoryFactory factory = new RepositoryFactory();  
  • factory.create("db").save(new Object());  
  • factory.create("cache").save(new Object());  
  • factory.create("file").save(new Object());  
  •  
  • 简单工厂的弊病在于每添加一个新的Repository,都必须修改RepositoryFactory中的代码

    抽象工厂的应用

    1. public interface RepositoryFactoryProvider {  
    2. Repository create();
    3.  
    4. class DatabaseRepositoryFactory implements RepositoryFactoryProvider {  
    5. @Override  
    6. public Repository create() {  
    7. return new DatabaseRepository();  
    8.  
    9.  
    10. class CacheRepositoryFactory implements RepositoryFactoryProvider {  
    11. @Override  
    12. public Repository create() {  
    13. return new CacheRepository();  
    14.  
    15.  
    16. class FileRepositoryFactory implements RepositoryFactoryProvider {  
    17. @Override  
    18. public Repository create() {  
    19. return new FileRepository();  
    20.  

    21.   推荐阅读

        人工智能技术是基于大数据吃饭的?

      自负年夜 Google 的人工智能 AlphaGO 成为围棋界的百胜将近开端,AI(Artificial Intelligence,人工智能)这两个英文字,刹那间成为科技业最热点的关键字之一。而就在2017岁首?年代,早在>>>详细阅读


      本文标题:记录自己理解的一些设计模式

      地址:http://www.17bianji.com/lsqh/34663.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)