假设我想定义一个代表远程服务调用的接口.现在,对远程服务的调用通常会返回一些内容,但也可能包含输入参数.假设实现类通常只实现一种服务方法.鉴于以上信息,以下是一个糟糕的设计(它感觉不太正确):

public interface IExecutesService

{

public A executeService();

public A executeService(B inputParameter);

}

现在,假设我使用一个使用输入参数执行远程服务的类来实现此接口:

public class ServiceA implements IExecutesService

{

public String executeService()

{

//This service call should not be executed by this class

throw new IllegalStateException("This method should not be called for this class...blabla");

}

public String executeService(String inputParameter)

{

//execute some service

}

关于上述问题我有两个问题:

>在您想要提供需要不同输入参数和接口方法的返回类型的子类的情况下,是否使用通用接口(IExecutesService< A,B>)?

>我怎样才能做到更好?即我想在一个公共接口(IExecutesService)下将我的服务执行器分组;但是,实现类通常只实现其中一个方法,并且使用IllegalStateException感觉非常难看.此外,IExecutesService< A,B>中的B类型参数.对于没有任何输入参数调用服务的实现类来说,这将是多余的.对于两个不同的服务调用来说,创建两个独立的接口似乎也是过度的.

java 接口编程iservices_java – 通用接口相关推荐

  1. Java面向对象编程篇3——接口与抽象类

    Java面向对象编程篇3--接口与抽象类 1.接口(interface) 接口中可以含有变量和方法.但是要注意,接口中的变量会被隐式地指定为public static final变量(并且只能是pub ...

  2. Java面向对象编程——抽象类和接口

    Java面向对象编程--抽象类和接口 定义类的过程就是抽象和封装的过程,而抽象类与接口则是对实体类进行更高层次的抽象,进定义公共行为和特征. 抽象类: 如果一个类没有足够的信息去描述一个具体的对象,那 ...

  3. java 接口编程_JAVA面向接口编程

    一.什么是面向接口编程 要正确地使用Java语言进行面向对象的编程,从而提高程序的复用性,增加程序的可维护性.可扩展性,就必须是面向接口的编程.面向接口的编程就意味着:开发系统时,主体构架使用接口,接 ...

  4. java接口编程题_Java接口练习题

    1.说出下面程序的执行结果: interface InterfaceA { String S = "good "; void f(); } abstract class Class ...

  5. java queryinterface_COM编程中的接口查询QueryInterface的实现原理

    我们都知道,COM组件编程中,QueryInterface实现的接口之间的查询,通过这个接口,我们可以获取该组件中其他的接口.但 是,QueryInterface实现的原理,并不是大家都很清楚,也没有 ...

  6. 佳信客服接口文档 REST API(第二部分)包含用户、聊天室、群聊、消息管理,通用接口数据结构、通用接口返回码

    6.聊天室管理 6.1.添加聊天室 接口定义: 请求URI https://api.jiaxincloud.com/rest/{orgName}/{appName}/chatrooms 访问角色 de ...

  7. 什么是接口 编程中关于接口的理解

    什么是接口 接口 就可以理解为 胶带 胶布 插口  提供转接的扣子,用来连接而开放的入口.它的存在是为了让两种事物连接在一起 描述如何让两种事物连接在一起的抽象 化事物      消防栓的供水口存在两 ...

  8. java 用面向接口编程的方式开发打印机_Java“打印机”模型理解面向接口编程。实现接口定义类,接口实现类,核心“业务”类分离...

    接口定义类 IinkBox.java package printerDemo.iface; public interface IInkBox { public String getColor(); } ...

  9. [Java并发编程-6] Callable接口

    文章目录 如何使用 理解FutrueTask 举个栗子 Callable接口和Runnale接口一样, 也能 创建新线程 Runnable接口和Callable接口的不同: 是否有返回值 是否抛出异常 ...

  10. php调用第三方的api,PHP接口编程——调用第三方接口获取天气

    一.根据城市名/id查询天气 二. 三. 四. 实例 //appkey $key='9b1380be63fc20a841c454894651521'; $city='杭州'; //url $url=' ...

最新文章

  1. 程序员必知8大排序3大查找(三)
  2. 25个强大的 jQuery 砌体网页设计作品
  3. JAVA基础——最简单的多重循环程序
  4. Android 打造自己的个性化应用(四):仿墨迹天气实现--自定义扩展名的zip格式的皮肤...
  5. laytpl遍历实体列表_Layui数据表格之获取表格中所有的数据方法
  6. elasticsearch5.3安装插件head
  7. 四格漫画《MUXing》——度姐传说
  8. “Spring入门”教程系列
  9. java list 重复数据_java 查找list中重复数据实例详解
  10. 006-Python迭代器
  11. Python字典技巧一锅炖
  12. ViewPager通过自定义适配器MyPagerAdapter实现界面导航(上标题)
  13. 免费python课程排行榜-用python爬取2017年中国最好大学排名
  14. Java神鬼莫测之MyBatis中$与#的区别(五)
  15. VS debug调试时提示“未找到源”
  16. python批量剪切视频文件
  17. Python开发的第一步:利用Python开发一个桌面小程序
  18. java网络编程--UDP程序设计
  19. node中解压zip文件
  20. 八大常用基础电路保护器件作用

热门文章

  1. springBoot操作数据库方式
  2. shell脚本中的逻辑判断、文件目录属性判断、if特殊用法、case判断
  3. 请大家一起呼吁媒体不要进行幸还者回忆性采访
  4. 去小机化思维(一)--【软件和信息服务】2015.02
  5. NPColorPicker
  6. 关于PPPOE拨号分配给用户32位掩码,且IP与网关相同的问题
  7. 微信小程序富文本三种方法+0.1rich-text+0.2插件+0.3webview
  8. 微信开发-UnionID机制相关文档
  9. python名称空间_一篇文章搞懂Python的类与对象名称空间
  10. Thinkphp5 接口中直接返回数组提示variable type error: array