我正在寻找一种设计模式来帮助简化我的代码。
我的代码使用HttpClient调用获取或发布信息的Web API,但是每个会话都需要先进行一次登录调用,然后返回一个cookie作为ID,并在最后进行注销调用以关闭连接。因此,我的Web API类如下所示:
public class APIHelper
{
public HttpClient myClient { get; set; }
public async void Login()
{
using (HttpResponseMessage response = await myClient.PostAsync("loginAddress", "loginInput"))
{
if (response.IsSuccessStatusCode)
{
//save cookie
}
}
}
public async void Logout()
{
using (HttpResponseMessage response = await myClient.PostAsync("logoutAddress", ""))
{
if (response.IsSuccessStatusCode)
{
//session ends
}
}
}
public void GetOrder() {...}
public void NewOrder(object OrderData) {...}
public void GetCustomer() {...}
public void NewCustomer(object CustomerData) {...}
}
Run Code Online (Sandbox Code Playgroud)
为了使用它们,我只需按顺序调用它们:
public Main()
{ …Run Code Online (Sandbox Code Playgroud)