![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
------④设计模式
Whale-Song
今天 你努力了不管是否有收获 至少你赢了坐享其成的你。
展开
-
Java---设计模式---基本原则
1.面向接口编程 1) 这是Java编程里面大家公认的第一原则。 2)接口很重要的一个功能:封装隔离。 3)接口是功能块或封装块的外观2.优先使用对象组合而非类继承3.分层(最典型的三层结构: 表现层 --> 逻辑层 --> 数据层)4.层间交互的基本原则 1) 表现层调用逻辑层,逻辑层调用数据层,不可以反过来。 2) 层间交互也应该通过接口进行调用,以确保各...原创 2018-04-14 11:17:55 · 156 阅读 · 0 评论 -
MySQL---当Java遇上MySQL⑦---我的连接池改进,动态代理模式。
由于 我的连接池普通版 中连接池版本二中,虽然修改了close方法,但是其它代码太多了。这时候应该考虑采用动态代理模式来开发。动态代理模式采用动态代理的前提:被代理的对象必须实现某个接口,而且调用该对象是面向接口的方式。相关文档接口:IPersonpackage cn.hncu.proxy;public interface IPerson { public abstract...原创 2018-09-21 12:26:00 · 255 阅读 · 0 评论 -
Web---MVC框架搭建
一个图带你认识MVC框架说明:该项目只是为了熟悉MVC框架的搭建。View包结构Control和Model---Src目录关键代码:数据库连接池工具采用动态代理的思想+ThreadLocal技术实现一个线程最多只能获取到一个数据库连接。package cn.hncu.pub;import java.io.IOException;import ja...原创 2018-09-23 16:49:13 · 169 阅读 · 0 评论 -
Java---设计模式---书店管理系统(单机版)⑥
书店管理系统正确入口库存模块:界面:主界面:查询以及查询结果界面:包(体现架构):关键性代码:值对象(StockModel):package cn.hncu.booksManagementSystem.stock.vo;import java.io.Serializable;/** * CreateTime: 2018年4月19日 下午7:26:31 * @author 宋进宇 E...原创 2018-04-28 19:13:28 · 1445 阅读 · 0 评论 -
Java---设计模式---书店管理系统(单机版)⑤
书店管理系统正确入口销售模块界面主界面:销售单:添加界面:修改界面:提交销售单:查询界面:查询结果界面:查看明细界面:包(体现架构):关键性代码:值对象1(OutMainModel):package cn.hncu.booksManagementSystem.out.vo;import java.io.Serializable;import cn.hncu.booksManagementS...原创 2018-04-28 19:05:50 · 1218 阅读 · 1 评论 -
Java---设计模式---书店管理系统(单机版)④
书店管理系统正确入口进货模块界面:主界面:进货明细界面:填写进货单界面:添加进货明细界面:修改明细界面:查询订单界面:查询结果界面:包(体现架构):关键性代码:值对象1(InMainModel):package cn.hncu.booksManagementSystem.in.vo;import java.io.Serializable;import cn.hncu.booksManage...原创 2018-04-28 15:23:11 · 886 阅读 · 0 评论 -
Java---设计模式---书店管理系统(单机版)③
书店管理系统正确入口图书模块:界面:包:关键性代码:值对象:package cn.hncu.booksManagementSystem.book.vo;import java.io.Serializable;/** * * CreateTime: 2018年4月19日 下午3:24:35 * @author 宋进宇 Email:447441478@qq.com * Descri...原创 2018-04-26 18:59:40 · 1236 阅读 · 2 评论 -
Java---设计模式---书店管理系统(单机版)②
书店管理系统正确入口用户模块(登入账号:admin 密码:123):界面(丑请见谅):包:关键代码:DAO接口:package cn.hncu.booksManagementSystem.user.dao.dao;import java.util.Collection;import cn.hncu.booksManagementSystem.user.vo.UserModel;impor...原创 2018-04-26 18:47:27 · 1818 阅读 · 0 评论 -
Java---设计模式---书店管理系统(单机版)①
做这个系统是为了加强对前面学习的设计模式的应用,该系统运用了MVC开发模式,工厂模式,值对象,单例等设计模式,并且遵守一定的设计原则。体验:做这个系统花了我快两周的课余时间,在这半个月中认识到MVC开发模式的种种好处,在大二时,做过一个类似的课设,但是和这个书店管理系统相比较发现:采用MVC开发模式看起来需要分很多层,而且严格遵守层间交互原则和面向接口原则。虽然设计起来很繁琐,但是在图书模块发生变...原创 2018-04-26 17:45:11 · 8731 阅读 · 16 评论 -
Java---设计模式---遇见MVC-③
逻辑层:进行数据的逻辑校验、进行逻辑判断、实现业务功能、处理相关功能、处理后续流程、组织数据返回给表现层。package cn.hncu.addr.business;import java.util.ArrayList;import java.util.List;import cn.hncu.addr.dao.AddressDAO;import cn.hncu.addr.vo.Addr...原创 2018-04-12 17:40:19 · 134 阅读 · 0 评论 -
Java---设计模式---遇见MVC-②
表现层:展示数据、人机交互、收集参数调用逻辑层。主界面:ListPanlpackage cn.hncu.addr.ui;import java.awt.Color;import java.awt.Dimension;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionLis...原创 2018-04-12 17:34:36 · 137 阅读 · 0 评论 -
Java---设计模式---遇见MVC-①
三层结构设计模式 ① 表现层功能:展示数据、人机交互、收集参数调用逻辑层。 ② 逻辑层功能:进行数据的逻辑校验、进行逻辑判断、实现业务功能、处理相关功能、处理后续流程、组织数据返回给表现层。 ③ 数据层功能:实现数据持久化、实现对象和持久化数据的双向映射。认识MVC设计模式: 通过设计一个地址管理app来认识MVC模式,如有BUG,请多多包涵。这是项目的结构:软件入口:Ad...原创 2018-04-12 17:04:01 · 181 阅读 · 0 评论 -
Java---设计模式---DAO
场景和问题 在Java程序中,经常需要把数据持久化,也需要获取持久化的数据,但是在进行数据持久化的过程中面临诸多问题(如:数据源不同、存储类型不同、供应商不同、访问方式不同等等),请问如何能以统一的接口进行数据持久化的操作?解决方案:DAO的理解 1、DAO其实是利用组合工厂模式来解决问题的,并没有带来新的功能,所以学的其实就是个思路。 2、DAO理论上是没有层数...原创 2018-04-15 11:38:57 · 191 阅读 · 0 评论 -
Java---设计模式---装饰
场景和问题 在不对原有对象类进行修改的基础上,如何给一个或多个已有的类对象提供增强额外的功能?MyBufferedReader:import java.io.FileReader;import java.io.IOException;import java.io.Reader;/** * Time:2018/4/15 * Description: * 装饰: * 在不...原创 2018-04-15 11:16:33 · 158 阅读 · 0 评论 -
Java---设计模式---值对象
场景和问题 在Java开发时,需要来回交换大量的数据,比如要为方法传入参数,也要获取方法的返回值,该如何能更好的进行数据的交互?基本的编写步骤 ◎第1步:写一个类,实现可序列化(如果以后数据是往数据库里存的,那么可以不序列化,节省资源) ◎第2步:私有化所有属性,保持一个默认构造方法(public无参) ◎第3步:为每个属性提供get()、set()方法(如果是boolea...原创 2018-04-15 11:10:54 · 238 阅读 · 0 评论 -
Java---设计模式---工厂
场景和问题 Java程序开发讲究面向接口编程,隐藏具体的实现类,可是如何得到接口呢? 工厂类的命名规范:***Factory 单例工厂方法的命名规范:getInstance()工厂的本质是“选择实现” 工厂、接口和实现类之间的技术边界:工厂只负责选择实现,实现类才做真正的实现,而接口是限定到底实现什么东西和返回什么东西,三者之间分工明确、各负其责。代码:这是两个模块之间的调...原创 2018-04-14 12:35:01 · 204 阅读 · 0 评论 -
Java---设计模式---单例
解决:保证了一个类在内存中只能有一个对象。思路: 1、如果其他程序能够随意用new创建该类对象,那么就无法控制个数。因此,不让其他程序用new创建该类的对象。 2、既然不让其他程序new该类对象,那么该类在自己内部就要创建一个对象,否则该类就永远无法创建对象了。 3、该类将创建的对象对外(整个系统)提供,让其他程序获取并使用。步骤: 1、将该类中的构造函数私有化。 2...原创 2018-04-14 11:39:04 · 152 阅读 · 0 评论 -
Java---设计模式---基本经验
1.类要单一 所设计的类功能要单一 ,一个类应该是描述一类极其相关的属性和方法。2.加强内聚,松散耦合 指一个类,能够在自己内部实现的功能就自己内部实现,不要去调其它类,尽量减少与其它类的依赖关系。3.好的封装性 不必对外开放的部分,一律不对外开放。如果在不确定属性权限的情况下,先把类的属性设成private,用的时候再开。4.类的粒度要合理 Java规范中建议,一个类的大...原创 2018-04-14 11:22:20 · 153 阅读 · 0 评论 -
Web---Listener---初识监听器
监听器监听器-就是一个实现待定接口的普通Java程序,此程序专门用于监听别一个类的方法调用。 都是使用观察者设计模式。 什么是观察者模式:定义对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知自动更新。 监听者模式的三个重要类一个小Demo来认识一下观察者模式假设以下三个类时别人写的类:被监听者package patternDe...原创 2018-09-29 15:10:34 · 130 阅读 · 0 评论