asp.net – 界面的好处是什么意味着某种实现?
发布时间:2020-12-16 09:45:00 所属栏目:asp.Net 来源:网络整理
导读:我在看这个: public interface IAjaxCallbackEventHandler : ICallbackEventHandler { string CallbackResponse { get; set; } }} 所以页面实现了这个界面,最终看起来像这样: public partial class XPage : Page,IAjaxCallbackEventHandler { // public be
我在看这个:
public interface IAjaxCallbackEventHandler : ICallbackEventHandler { string CallbackResponse { get; set; } } } 所以页面实现了这个界面,最终看起来像这样: public partial class XPage : Page,IAjaxCallbackEventHandler { // public because it's an interface,but really an implementation detail ;-( public string CallbackResponse { get; set; } // implementing underlying ICallbackEventHandler interface public void RaiseCallbackEvent(string eventArgument) { try { CallbackResponse = SomeOperation(eventArgument); } catch (Exception ex) { CallbackResponse = ex.ToString(); } } // implementing underlying ICallbackEventHandler interface public string GetCallbackResult() { return CallbackResponse; } } 据我所知,这个接口只是确保程序员必须考虑存储来自RaiseCallbackEvent的响应,以便稍后从对GetCallbackResult的调用返回. 我看不出这种技术有什么好处,因为你已经必须实现并考虑两种方法来实现这一点. 您的想法 – 这种方法的任何有效好处,还是仅仅是代码味道? 解决方法
接口应该只定义合同,不应该依赖于暗示代码应该如何实现,而不是满足合同的要求.
如果你想暗示某些代码路径,那么你最好拥有一个实现接口的基类并继承它,就像使用基类一样,你可以对代码流程进行一定程度的控制,同时仍然提供要覆盖的自定义逻辑位的入口点. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 在ashx文件中,我可以设置返回文件的文件名吗?
- asp.net-mvc – ASP.NET MVC:使浏览器缓存图像从动作
- asp.net-mvc – ASP.NET MVC / IIS 7.5:500内部服务器仅针
- asp.net – 如何使用Web API属性路由传递DateTime参数?
- asp.net-mvc – 如何在一个视图中呈现强类型的局部视图?
- 如何在ASP.NET MVC中获得HttpResponse的引用?
- ASP.NET:如何在没有任何子域的情况下获取域名?
- asp.net-mvc – 视图中的HttpContext.User或Page.User?
- 防止ASP.Net中的重复回发(C#)
- asp.net-mvc – 如何将Telerik ComboBox中的数据绑定到我的
推荐文章
站长推荐
- rest – asp.net Web Api – 默认错误消息
- asp.net-mvc-3 – 货币格式化MVC
- asp.net – Visual Studio 2017错误:无法启动程
- asp.net-mvc – 无法加载指定的元数据资源
- asp.net – 如何使用Ninject注入依赖项,其中实例
- Exceptionless - .Net Core开源日志框架
- 简单探讨一下.NET Core 3.0使用AspectCore的新姿
- ASP.NET站点.将整个域从http重定向到https
- asp.net – 为CKEditor指定自定义配置文件
- stored-procedures – 使用经典的asp从oracle 11
热点阅读