首页 > 编程语言 >java设计思路-项目中两种接口设计方法,请讲出优缺点

java设计思路-项目中两种接口设计方法,请讲出优缺点

时间:2022-08-24 17:26:28浏览次数:139  
标签:java String 优缺点 接口 User Override 设计 public user

结论:通过函数式接口,可以任意组装成不同粒度的接口,使用起来很灵活,强烈推荐。

第一种设计方法:

package com.iit.service.user;

import com.iit.domain.User;

//这是第1种设计方法,按模块或对象划分,将相关功能(方法)设计到一个类中。
public interface IUserService01 {
    boolean doReg(User user);
    boolean doLogin(String name,String password);
    User queryById(User user);
}

class UserService01Impl implements IUserService01{

    @Override
    public boolean doReg(User user) {
        return false;
    }

    @Override
    public boolean doLogin(String name, String password) {
        return false;
    }

    @Override
    public User queryById(User user) {
        return null;
    }
}

 

第二种设计方法:

package com.iit.service.user;


import com.iit.domain.User;

//思维导图:你在项目中是如何设计接口的?(有2种方式)
//面试:你是如何理解组合大于继承的?
//面试:你是如何理解约定大配置的?
//这是第2种设计方法-将函数式接口,通过继承,拼接成一个大的接口。
public interface IUserService02 extends
        IDoLoginService, //函数式接口1:用户登录
        IDoRegService, //函数式接口2:用户注册
        IQueryService  //函数式接口3:用户查询
{
}


interface IUserService03 extends
        IDoLoginService, //函数式接口1:用户登录
        IQueryService  //函数式接口3:用户查询
{
}



//模拟一个实现类,需求固定,就是要实现上面3个函数式接口的功能。
class UserService02Impl implements IUserService02{

    @Override
    public boolean doLogin(String name, String password) {
        return false;
    }

    @Override
    public String doReg(User user) {
        return null;
    }

    @Override
    public User queryById(User user) {
        return null;
    }
}

 

标签:java,String,优缺点,接口,User,Override,设计,public,user
From: https://www.cnblogs.com/xiaoyongdata/p/16620889.html

相关文章

  • 网页编辑器粘贴图片自动上传到服务器(Java版)
    ​ 在之前在工作中遇到在富文本编辑器中粘贴图片不能展示的问题,于是各种网上扒拉,终于找到解决方案,在这里感谢一下知乎中众大神以及TheViper。通过知乎提供的思路找到粘......
  • 【java】使用opencv获取摄像头并推流
    1、环境OSX12.5Java8vscode 2、脚本JavaCvCameraTest.javaimportjavax.swing.JFrame;importorg.bytedeco.ffmpeg.global.avcodec;importorg.bytedeco.java......
  • 【JAVA】数据库加密字段搜索方案
    今天看到一篇文章,讲到加密字段的模糊查询,看到这个标题的时候心里还没有太明确的答案,怀着学习的心态看完了整篇文章,然后又查阅了很多文章都没有具体实现代码片断,于是乎就试......
  • SpringMVC、MVC、JavaBean、表述层、三层架构
    来源:BV1Ry4y1574R?p=3、BV1Ry4y1574R?p=4SpringMVC是Spring的MVC模块,也就是来实现Web功能的模块。Spring里面包含有很多的模块,比如说SpringFramework是它的......
  • JAVA基础--面向对象--2022年8月23日
    第一节 面向对象概述、注意事项1、类和对象是什么?类:共同特征的描述(设计图)对象:是真实存在的具体案例2、如何设计类publicclass......
  • Java程序运行状态的监控
    写在前面:该系列文章,主要是为了深入学习Java完成的一条链,推荐阅读的整体顺序为:Java的内存模型(根源),一个java文件被执行的历程,一个Java类的加载,Java的垃圾回收机制及算法,Linu......
  • java后端面试题
    1.抽象类和接口的区别(三张思维导图教您更高效学习SSM框架)抽象类可以有构造方法,接口中不能有构造方法。抽象类中可以有普通成员变量,接口中没有普通成员变量。抽象类中可以......
  • java进制标识
    java进制标识二进制0b八进制0十六进制0xinti=010;//八进制08inti1=0x10;//十六进制16 ......
  • 在线编辑器粘贴图片自动上传到服务器(Java版)
    ​ tinymce是很优秀的一款富文本编辑器,可以去官网下载。https://www.tiny.cloud这里分享的是它官网的一个收费插件powerpaste的旧版本源码,但也不影响功能使用。umedit......
  • java数据类型转换问题
    我们知道java中的各个数据类型的取值范围不同,可以理解成容量大小,而针对容量大小可以对他们进行一个由低到高的排序,也就是优先级。优先级低-----------------------------......