<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      設計模式-適配器

      定義

      適配器模式是一種結構型設計模式,它允許接口不兼容的類能夠相互合作。在軟件中,適配器充當兩個不同類/接口之間的“橋梁”或“轉換器”。

      分類

      對象適配器

      類適配器

      對象適配器【廣泛使用】

      對象適配器-功能合并

      public class ObjectAdapter {
      
          public static void main(String[] args) {
              DEAdapter adapter = new DEAdapter();
              adapter.mm4();
              adapter.mm5();
          }
      }
      
      class DClass {
      
          void m4() {
              System.out.println("D類的m4()被執行!");
          }
      
      }
      
      interface EInterface {
      
          void mm4();
      
          void mm5();
      
      }
      
      class DEAdapter implements EInterface{
      
      
          @Override
          public void mm4() {
              DClass d = new DClass();
              d.m4();
          }
      
          @Override
          public void mm5() {
              System.out.println("E接口的mm5()被實現!");
          }
      }
      

      類適配器【高階使用】

      對象適配器-功能合并

      public class ClassAdapter {
      
          public static void main(String[] args) {
              ABAdapter adapter = new ABAdapter();
              adapter.m1();
              adapter.m2();
          }
      
      }
      
      class AClass {
      
          public void m1() {
              System.out.println("A類的m1()被執行!");
          }
      }
      
      interface BInterface {
      
          void m2();
      
      }
      
      // 適配器繼承A類,實現B接口,從而適配器類有了m1、m2兩個功能
      class ABAdapter extends AClass implements BInterface {
      
          @Override
          public void m2() {
              System.out.println("B接口的m2()被實現!");
          }
      }
      

      選擇合適的適配器

      類、對象適配器選擇

      其它場景

      類適配器-只關注一個方法

      接口類

      關注UserVO queryInfo()。

      public interface IUserService extends IService<User> {
      
          /**
           * 詳細信息ByUserId
           *
           * @param userId
           * @return
           */
          UserVO queryInfo(Long userId);
      
          /**
           * 分頁查詢
           *
           * @param userPageQuery
           * @return
           */
          Page<UserVO> queryPage(UserPageQuery userPageQuery);
      
          /**
           * 分頁查詢ByXml
           *
           * @param userPageQuery
           * @return
           */
          Page<UserVO> queryPageByXml(UserPageQuery userPageQuery);
      
          /**
           * 列表查詢
           *
           * @param userQuery
           * @return
           */
          List<UserVO> queryList(UserQuery userQuery);
      
          /**
           * 用戶信息ByUserName
           *
           * @param userName
           * @return
           */
          User queryByUserName(final String userName);
      
          /**
           * 新增
           *
           * @param userDTO
           */
          void add(UserDTO userDTO);
      
          /**
           * 編輯
           *
           * @param userDTO
           */
          void edit(UserDTO userDTO);
      
          /**
           * 刪除
           *
           * @param userIds
           */
          void del(Long[] userIds);
      
      }
      

      適配器類

      適配器是一個抽象類,未實現接口類的UserVO queryInfo()。

      public abstract class AdapterUserService implements IUserService {
      
          @Override
          public Page<UserVO> queryPage(UserPageQuery userPageQuery) {
              return null;
          }
      
          @Override
          public Page<UserVO> queryPageByXml(UserPageQuery userPageQuery) {
              return null;
          }
      
          @Override
          public List<UserVO> queryList(UserQuery userQuery) {
              return null;
          }
      
          @Override
          public User queryByUserName(String userName) {
              return null;
          }
      
          @Override
          public void add(UserDTO userDTO) {
      
          }
      
          @Override
          public void edit(UserDTO userDTO) {
      
          }
      
          @Override
          public void del(Long[] userIds) {
      
          }
      
          @Override
          public boolean saveBatch(Collection<User> entityList, int batchSize) {
              return false;
          }
      
          @Override
          public boolean saveOrUpdateBatch(Collection<User> entityList, int batchSize) {
              return false;
          }
      
          @Override
          public boolean updateBatchById(Collection<User> entityList, int batchSize) {
              return false;
          }
      
          @Override
          public boolean saveOrUpdate(User entity) {
              return false;
          }
      
          @Override
          public User getOne(Wrapper<User> queryWrapper, boolean throwEx) {
              return null;
          }
      
          @Override
          public Optional<User> getOneOpt(Wrapper<User> queryWrapper, boolean throwEx) {
              return Optional.empty();
          }
      
          @Override
          public Map<String, Object> getMap(Wrapper<User> queryWrapper) {
              return null;
          }
      
          @Override
          public <V> V getObj(Wrapper<User> queryWrapper, Function<? super Object, V> mapper) {
              return null;
          }
      
          @Override
          public BaseMapper<User> getBaseMapper() {
              return null;
          }
      
          @Override
          public Class<User> getEntityClass() {
              return null;
          }
      }
      

      queryInfo()具體實現類

      繼承適配器類,同時只需要實現queryInfo()。

      @Component
      @RequiredArgsConstructor
      public class AdapterUserServiceImpl extends AdapterUserService {
      
          private final UserMapper userMapper;
      
          @Override
          public UserVO queryInfo(Long userId) {
              LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
              wrapper.eq(User::getUserId, userId);
              User user = userMapper.selectOne(wrapper);
              return BeanUtil.copyProperties(user, UserVO.class);
          }
      }
      
      posted @ 2025-09-09 15:32  南翔技校畢業后  閱讀(69)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 极品一区二区三区水蜜桃| 97国产揄拍国产精品人妻| 亚洲国产av区一区二| 永久免费在线观看蜜桃视频| 无码AV中文字幕久久专区| 国产精品老熟女乱一区二区| 无码国产偷倩在线播放老年人| 99riav精品免费视频观看| 伊人色综合一区二区三区| 午夜精品福利亚洲国产| 天天做天天爱夜夜爽导航| 国产精品揄拍一区二区久久| 人妻有码av中文字幕久久琪| 亚洲国产精品毛片av不卡在线| 一区二区三区四区黄色片| 国产在线精品一区二区三区直播| 在线看国产精品自拍内射| 激情久久av一区二区三区| 亚洲国产成人av国产自| 丰满少妇高潮无套内谢| 国产精一区二区黑人巨大| 欧美精品人人做人人爱视频| 精品中文人妻中文字幕| 亚洲男人AV天堂午夜在| 色av专区无码影音先锋| 天美传媒mv免费观看完整| AV最新高清无码专区| 疯狂做受xxxx高潮欧美日本| 亚洲一级特黄大片一级特黄| 久久精品国产99国产精品澳门| 亚洲国产午夜精品福利| 日韩AV高清在线看片| 给我免费观看片在线| 日本久久99成人网站| 国产激情电影综合在线看| 中国熟妇毛多多裸交视频| 91青青草视频在线观看| 久久午夜私人影院| 亚洲中文字幕国产综合| 治县。| 久久96热在精品国产高清|