封装思维
1、重复书写代码时(或是为了将当前代码与业务逻辑分离),进行封装。
■ 举例:DAO诞生的背景:以前我们是把数据库的操作代码编写到客户端里,
①跟业务代码混杂在一起;②而且每次操作数据库时都需要重复书写代码;
■ 解决:封装思想( 联想到集合—将数据存储到内存,集合中封装了增删改查的操作 )
DAO封装了数据的增删改操作,数据访问接口。
2、方法的参数过多时【超过了5、6个了】,进行封装。
■ 举例:save()方法的设计:void save(String name, int age);
当需要保存的数据过多时,此时save方法的参数就很多,解决方法----封装思想。
3,将多归一,实现map一对一的存储
■ 账号、邮箱就是一对一,直接使用map通过键值对存储【key:参数名称; value:参数值】
■ 头像:多对一【key:参数名(唯一),value:参数值多个】------封装(将多个值封装成一个对象)
package com.shan.upload; import lombok.Data; @Data public class CFile { private String imageUrl; //只需要一个图片的路径即可,到时候使用标签img的属性src即可引入图片 private String imageName; //图片原始名称 }
//问题来了---对于图像的话,参数名称imageName,但是它有两个值【图片路径值、原始图像名的值】---无法使用map一对一存储 //解决:封装思想:将多归一:将图片路径值、原始图像名的值封装成一个对象啦 Map<String, CFile> binaryMap = new HashMap<>();
✿ 在开发中两个常用的思想: 1):DRY 原则:Don‘t Repeat Yourself。开发中拒绝代码重复【重复会带来巨大的维护成本。】 2):责任分离原则:各自做各自最擅长的事情。【例如Servlet就是擅长处理请求(接收、处理、跳转);jsp擅长界面输出】 |