经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » Java相关 » 设计模式 » 查看文章
面试重点:设计模式(二)——创建模式
来源:cnblogs  作者:dark_Souls  时间:2018/11/22 10:18:15  对本文有异议

      1.创建模式:简单工厂

        单例模式:

        ArticleDao接口:


public interface ArticleDao {
public void addArticle(String article) ;
public void delArticle(int id) ;
public void updateArticle(String article) ;
public void findArticle(int id) ;
}

  1. ArticleDaoForMybatislmpl.java
  1. public class ArticleDaoForMybatislmpl implements ArticleDao {
  2. @Override
  3. public void addArticle(String article) {
  4. }
  5. @Override
  6. public void delArticle(int id) {
  7. }
  8. @Override
  9. public void updateArticle(String article) {
  10. }
  11. @Override
  12. public void findArticle(int id) {
  13. }
  14. }

 

   

 

       对于程序员来说,写代码比改代码容易

       为了符合迪米特原则,我们要创建工厂类,不然就如同下面的一样实例化接口,要实现所有方法。

  1. public class User {
  2. public static void main(String[] args) {
  3. ArticleDao dao=new ArticleDao() {
  4. @Override
  5. public void addArticle(String article) {
  6. }
  7. @Override
  8. public void delArticle(int id) {
  9. }
  10. @Override
  11. public void updateArticle(String article) {
  12. }
  13. @Override
  14. public void findArticle(int id) {
  15. }
  16. };
  17. }
  18. }

       工厂类

  1. ArticleDaoFactory

          User类里面:   

     

         符合开闭原则和迪米特原则,但是如果再添加框架,就需要修改工厂的代码。这就是简单工厂的局限性

         本问题在下一篇随笔解决。

  1.  
  1.  

 

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号