我正在使用 C#/MVC 4 编写一个 Web 服务客户端,它与 REST-Webservice 通信,在客户端使用 JSON.net。到目前为止一切正常,但我想改进架构以使处理更加流畅。
我写了一个连接器类并像这样初始化它:
var conn = new MyConnector("admin", "admin", "http://localhost:9000");
然后我有一个像这样的 POCO 类:
public class MyRecord
{
[JsonProperty("record_id")]
public string RecordId;
...
我通过对 Web 服务执行 PUT 请求来保存更改。看起来像:
var updated = conn.UpdateRecord("MyRecordId", new NameValueCollection{{"title","new_title"}});
我想做的是更像 ActiveRecord 来实现它:
var myRecord = conn.GetRecord("myRecordId);
myRecord.title = "Foo";
myRecord.save();
这意味着 MyRecord 类必须知道连接处理程序。这对我来说似乎是糟糕的设计,因为 MyRecord 基本上是一个普通的对象。另一种选择是将连接处理程序传递给保存方法,但这也有味道。
有什么改进的建议吗?