Restful Objects for .NET
Restful Objects是關于領域對象模型的超媒體API的公共規范。該規范的1.0.0 版本剛剛發布并提供下載,并且目前已經出現了兩個實現了該規范的開源框架——一個基于Java平臺,另一個基于.NET平臺, Restful Objects for .NET完整實現了規范,但其目前還處于beta版本,因為它使用了Microsoft Web API框架(ASP.NET MVC4的一部分)。
使用這個框架,你能夠根據領域對象模型分別編寫POCOs代碼,然后創建完整的符合Restful Objects規范的RESTful API,而不用編寫任何其他深入的代碼。這個錄制的在線視頻(使用.NET框架)演示了上述工作如何在僅僅幾分鐘內就可以完成。
這個框架都是建立在實現了naked objects模式——根據領域對象模型利用反射自動創建面向對象的用戶界面,并(默認)提供用戶活動的公共方法——的現行框架之上的。新的Restful Objects框架以相似的方式反射領域對象模型,但以RESTful API的形式呈現對象的功能,而不是以用戶界面的形式。兩個新的框架都將反射、對象持久以及其他橫向關注點(cross-cutting concerns)的職責委托給了已有框架Naked Objects for .NET。
上述的新框架能夠識別一些簡單的領域對象代碼規范以及標示法(在.NET中為‘attributes’)。例如:對象上的任何公有方法都默認會在Restful Objects API中以action提供出來,但允許通過將方法標示為Hidden以重寫。如果某個對象定義了公有方法foo([params]) 和另一個公有方法validateFoo([params]),則后者會被認為是用來在前者執行前為傳遞給前者的參數提供驗證邏輯的。
這兩個框架還提供了細粒度的基于用戶身份和/或角色的授權機制。對于給定的領域類型,如果用戶沒有被授權查看某個給定的屬性、集合或者活動(action),則在相應的表述中指向該對象成員的鏈接就永遠不會呈現給該客戶。當用戶試圖通過直接構造指向該資源的URL以進行訪問時,他們將接收到404錯誤;而如果用戶擁有查看該對象成員的權限,但沒有編輯的權限,則當試圖進行編輯時就會接收到403錯誤。
相關文章:
歡迎大家掃描下面二維碼成為我的客戶,扶你上云

浙公網安備 33010602011771號