封装思维

简介: 封装思维

封装思维


 

1、重复书写代码时(或是为了将当前代码与业务逻辑分离),进行封装。

举例:DAO诞生的背景:以前我们是把数据库的操作代码编写到客户端里,

①跟业务代码混杂在一起;②而且每次操作数据库时都需要重复书写代码;

解决封装思想联想到集合—将数据存储到内存,集合中封装了增删改查的操作

             DAO封装了数据的增删改操作,数据访问接口。


75.png


2、方法的参数过多时【超过了5、6个了】进行封装

举例:save()方法的设计:void save(String name, int age);

当需要保存的数据过多时,此时save方法的参数就很多,解决方法----封装思想


76.png


77.png


3,将多归一,实现map一对一的存储

账号、邮箱就是一对一,直接使用map通过键值对存储【key:参数名称; value:参数值】

头像:多对一【key:参数名(唯一),value:参数值多个】------封装(将多个值封装成一个对象)


77.png


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擅长界面输出】

 

 

目录
相关文章
|
5月前
|
设计模式 API 数据安全/隐私保护
探索设计模式的魅力:外观模式简化术-隐藏复杂性,提供简洁接口的设计秘密
外观模式是一种关键的设计模式,旨在通过提供一个简洁的接口来简化复杂子系统的访问。其核心价值在于将复杂的内部实现细节封装起来,仅通过一个统一的外观对象与客户端交互,从而降低了系统的使用难度和耦合度。在软件开发中,外观模式的重要性不言而喻。它不仅能够提高代码的可读性、可维护性和可扩展性,还能促进团队间的协作和沟通。此外,随着业务需求和技术的发展,外观模式能够适应变化,通过修改外观对象来灵活调整客户端与子系统之间的交互方式。总之,外观模式在软件设计中扮演着举足轻重的角色,是构建高效、稳定且易于维护的软件系统的关键
136 1
探索设计模式的魅力:外观模式简化术-隐藏复杂性,提供简洁接口的设计秘密
|
5月前
|
Java
看似封装,其实不止于封装?
看似封装,其实不止于封装?
59 1
|
2月前
|
算法 Java 程序员
在Java的编程世界里,多态不仅仅是一种代码层面的技术,它是思想的碰撞,是程序员对现实世界复杂性的抽象映射,是对软件设计哲学的深刻领悟。
在Java的编程世界里,多态不仅仅是一种代码层面的技术,它是思想的碰撞,是程序员对现实世界复杂性的抽象映射,是对软件设计哲学的深刻领悟。
57 9
|
5月前
|
Java 数据安全/隐私保护
Java面向对象编程:封装技术详解
Java面向对象编程:封装技术详解
59 0
|
5月前
|
C++
C++ 数据封装的方法,重点是其编程思想
在C++中,数据封装一般指的是将数据和操作这些数据的函数绑定在一起的程序设计方式。通常使用C++的类来实现
57 7
|
5月前
|
存储 算法 程序员
从1024开始,我们漫谈编程的本质
从1024开始,我们漫谈编程的本质
40 0
|
5月前
针对抽象编程与对应的好处
针对抽象编程与对应的好处
43 1
|
设计模式 前端开发 数据安全/隐私保护
前端通用编程基础的设计模式之责任链
在前端开发中,我们常常需要处理一些复杂的业务逻辑,例如表单验证、权限控制等。这些业务逻辑可能需要经过多个步骤才能完成,每个步骤都需要进行具体的处理和判断。这时候就需要使用责任链模式来实现业务逻辑的流程化和扩展性。
127 0
|
存储 Java 程序员
【C#本质论 六】类-从设计的角度去认知(封装)(上)
【C#本质论 六】类-从设计的角度去认知(封装)(上)
105 0
|
编译器 C#
【C#本质论 六】类-从设计的角度去认知(封装)(下)
【C#本质论 六】类-从设计的角度去认知(封装)(下)
83 0