目前本人正在開發(fā)一個釘釘?shù)腸omposer包,目前是有一些問題
1.目前我把一些不同的功能封裝到了不同的class中,但是呢我希望可以在別人使用我這個包的時候只需要new一次就好,否則用起來new的太多感覺可能不舒服,而且參數(shù)還需要從一個class再手工填寫另一個class,人寫很有可能寫錯,我看釘釘官方給的文件里面是寫一個方法,你直接把class名,函數(shù)名,參數(shù)傳過來,然后在這個方法內(nèi)new對象,在拼裝函數(shù)調(diào)用,感覺頁太敷衍了,這樣還不如直接讓new對象呢。
2.緩存的問題,釘釘?shù)腶ccessToken和jsticket需要緩存7200秒,目前是使用讀取文件的方法緩存,有沒有更優(yōu)雅的解決方法呢?我會留出口子可以讓用戶自定義緩存的函數(shù),但是我認為有很多人都是不會去自定義的,但是這樣的話就要求緩存文件有文件讀寫的權(quán)限,但是我遇到過很多人他們使用linux的時候根本不會調(diào)整權(quán)限。
1.第一個你可以考慮依賴注入容器,這樣就可以保證你直接new 一個類,來通過容器的get方法獲取得到響應的對象實例.不過,我覺得這種并不太適合你,你可以考慮一下用1樓所說的工廠模式.畢竟一個插件用依賴注入的話.接口一多,自己是不太很好去排查錯誤的.
2.緩存的方式,我的建議是在composer里面的script里面來執(zhí)行一些初始化的方法.自行創(chuàng)建自己所需要到目錄.當然,配置傳參也是可以的.我覺得有一種很好的方式來寫這種緩存.適配器.你可以先預訂幾個適配器,通過適配器來對應不同的緩存方式.然后用戶只需要寫適配器就行了.給你一個例子吧.市面上有做的好的.例如flysystem的adapters,例如:
use League\Flysystem\Filesystem;
use League\Flysystem\Adapter\Local;
$adapter = new Local(__DIR__.'/path/to/root');
$filesystem = new Filesystem($adapter);北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產(chǎn)業(yè)為響應國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復興的升級產(chǎn)業(yè)鏈。利用北京大學優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓領(lǐng)域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務(wù)負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。