webman 后續(xù)迭代有考慮引入注解么?
我是近期有考慮這樣會不會簡化一些代碼。去查了一下。目前得到的資料如下
1 如果需要引入注解在 8.0 以上的版本是可以不用引入額外的庫。Annotations 這個庫在 8.0 除了以后就進(jìn)入維護(hù)階段。
2 如果實現(xiàn)注解可以進(jìn)需要對框架本身的一些生命周期做一些調(diào)整就可以。主要的實現(xiàn)點就是拿到注解后,分析注解以及對后續(xù)代碼的調(diào)用進(jìn)行操作。對項目開發(fā)代碼影響其實并不大。但是可以帶來下面例如參數(shù)校驗之類的好處。
還有一方面就是注解的使用對項目本身可能有影響的一些路線。就拿spring-boot 舉例。spring-boot 的入口函數(shù)和入口類上的注解是一些配置開啟和代碼掃描的目錄,配置是否開啟很好理解,是管控一些功能是否開啟,掃描代碼目錄的話就是影響的點就比較大了。這個在php(解釋型語言和可以自定義載入規(guī)則)這種語言下實現(xiàn)也是很簡單的。主要就是掃描指定目錄,然后加在這些目錄下的class。通過class中的注解去進(jìn)行服務(wù)的注冊。 如果在php中實現(xiàn)代碼的話,至于是否有必要掃描,這個并不是必要的,可以在具體執(zhí)行的時候在去分析對應(yīng)的類然后通過解析注解獲取配置,進(jìn)行一些實例化。
至于代碼提示方面是沒有影響的。
因為我最近也使用java-spring 開發(fā)了一段時間(工作所迫)。所以也總結(jié)了一下幾個在我看來比較不錯的點。
1 直接讀取配置變量賦值到對應(yīng)屬性
2參數(shù)校驗
3攔截器
方法上面的鎖
4 直接注入屬性
webman一直想加入注解
第一步是要有一個通用的注解規(guī)范,與其它框架注解相同或者出入不大,不知道是否有這樣的規(guī)范。
有了規(guī)范就好開發(fā)了
spring 上我的理解是在aop的基礎(chǔ)上的注解。寫一個注解class ,控制注解中的參數(shù)。再寫一個切片函數(shù)。切片函數(shù)可以控制這個注解再那個位置生效。
并且我認(rèn)為注解的使用方區(qū)別是不大,主要是實現(xiàn)方式上可能都有所區(qū)別。難點主要在核心是否可以提供一個較好管理的注解運行方式