1. 程式人生 > 其它 >spring學習03:IOC理論推導(重要)

spring學習03:IOC理論推導(重要)

spring學習03:IOC理論推導

  • IOC思想:

    • IOC是一種思想;

    • 什麼是思想:就是學習一種想法來轉變你的思維;

 

  • IOC理論推導:

    • UserDao介面

    • UserImpl實現類

    • UserService業務介面

    • UserServiceImpl業務實現類

       

 

  • 弊端:

    • 在我們之前的業務中,使用者的需求可能會影響我們原來的程式碼,我們需要根據使用者的需求去修改原始碼;如果程式程式碼量十分大,修改一次的成本十分昂貴!

    • 牽一髮而動勸身

 

  • 筆記:

    • 因為客戶每一次需求,我們都要去改原有程式碼,十分的不好;

    • 能不能設計一種思想:讓程式不動,客戶端去做改動;

    • 程式控制建立物件:

      //方式1:直接new物件
      private UserDao userDao=new UserDaoOracleImpl();
    • 利用set進行動態值的注入:介面的思想

      private UserDao userDao;

      public void setUserDao(UserDao userDao) {
         this.userDao = userDao;
      }
    • 區別:

      • 之前:程式是主動建立物件,控制權在程式(程式設計師)手上。

      • 使用了set注入後,程式不再具有主動性,而是被動的接收物件。(控制權發生反轉)

 

  • IOC原型:

    • 這種思想,從本質上解決了問題,我們程式設計師不用再去管理物件的建立

      了,耦合性大大的降低,可以更加專注的在業務的實現上,這是IOC的原型!