对象工厂PHP,php – 有一个工厂用于创建对象的好处?
我認為這與構建某些類型的對象所需的資源有關.
非正式地說,如果你告訴某人建造一臺Mac,這將是一個艱苦的過程,需要多年的設計,開發,制造和測試,而且可能做得不對.每個Mac都必須重復此過程.但是,如果你介紹一個工廠,所有的辛勤工作只能做一次,那么Mac可以更便宜地生產.
現在考慮Joomla的factory.php.據我所知,JFactory的主要目的是匯集對象并確保不會復制應該相同的對象.例如,JFactory :: getUser()將返回對一個且僅一個對象的引用.如果該用戶對象中的某些內容發生了變化,它將隨處出現.另請注意,JFactory :: getUser()返回引用,而不是新對象.這是你無法用構造函數做的事情.
通常,在構造對象時需要本地上下文,并且該上下文可能會持久存在并可能采用多種形式.例如,可能有一個MySQL數據庫保存用戶.如果使用構造函數創建User對象,則需要將Database對象傳遞給構造函數(或者讓它依賴于全局變量).如果您決定將應用程序切換到PostgreSQL,則Database對象的語義可能會發生變化,從而導致需要檢查構造函數的所有用法.全局變量讓我們隱藏這些細節,工廠也是如此.因此,用戶工廠會將構造User對象的細節與需要User對象的位置分離.
工廠什么時候有用?構造對象時涉及背景細節.什么時候構造者更好?當全局變量足夠時.
總結
以上是生活随笔為你收集整理的对象工厂PHP,php – 有一个工厂用于创建对象的好处?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle异机expdp备份,关于通过
- 下一篇: php怎么添加会员卡,怎么在微信公众号中