上一页 1 2 3 4 5 6 7 ··· 11 下一页
迪米特法则:如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某个方法,可以通过第三者转发这个调用。 Read More
posted @ 2019-04-11 17:19 SasaL Views(102) Comments(0) Diggs(0) Edit
一、概念与通用格式 本章借鉴了《大话设计模式》之外,也借鉴了这篇博客https://www.cnblogs.com/lfxiao/p/6812835.html 原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型 创建新的对象。 这相当于是对一个对象“复制黏贴”,新的对象有自己的引用地址。 Read More
posted @ 2019-04-10 15:18 SasaL Views(155) Comments(0) Diggs(0) Edit
简单工厂模式,以计算器为例,结构如图: 简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。 问题在于,如果增加一个子功能,需要添加相应的子类外,还要修改原有的工厂类,增加case判断,修改原有的类,这就违背了“开放 Read More
posted @ 2019-04-09 11:08 SasaL Views(122) Comments(0) Diggs(0) Edit
监听器:监听某个对象状态的变化 被监听的对象:request、session、servletContext 监听对象的创建和销毁/对象属性的变化 与session相关的监听器,监听session中的对象 HttpSessionBindingListener 对象在session绑定或对象从sessi Read More
posted @ 2019-04-08 18:30 SasaL Views(132) Comments(0) Diggs(0) Edit
代理模式:为其他对象提供一种代理以控制对这个对象的访问。 这句话看起来有点不明白,个人的理解是代理隐藏了真实的对象,当需要调用真实对象时,通过代理来访问。 结构如图: 代码如下: 客户端代码: 可以理解为委托人(RealSubject)向代理人(Proxy)做委托,当需要寻找这个委托人的时候,找代理 Read More
posted @ 2019-04-04 16:41 SasaL Views(224) Comments(0) Diggs(0) Edit
简单理解,装饰模式是不更改原有的类,往这个类中动态添加新的功能。 结构如图: 按上图编写代码如下: Component: ConcreteComponent: Decorator: DecoratorA: DecoratorB: 测试类test: 通过Decorator的setComponent() Read More
posted @ 2019-04-03 17:58 SasaL Views(115) Comments(0) Diggs(0) Edit
软件设计原则:单一职责原则、开放-封闭原则、依赖倒转原则 这里摘录书中的几句话: 单一职责原则: 就一个类而言,应该仅有一个引起它变化的原因。 如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计 Read More
posted @ 2019-04-03 17:20 SasaL Views(422) Comments(0) Diggs(0) Edit
事务的特性:ACID 原子性:事务是一个不可分割的工作单元,事务中的操作要么都发生,要么都不发生。 一致性:一个事务中,事务前后的数据完整性要保持一致。 隔离性:多个事务,多个用户并发访问数据库时,一个用户的事务不能被其他用户干扰。 持久性:事务一旦提交,数据永久保存在数据库。 并发访问引起的问题( Read More
posted @ 2019-04-03 11:31 SasaL Views(153) Comments(0) Diggs(0) Edit
处理一个请求即开启一个线程,在三层中,执行三层中的方法都是用的同一个线程。 我们开启一个事务,使用conn.setAutoCommit(false); conn应该属于ado层,不应该出现在service层,但处理事务应该在service层执行。 针对上述矛盾,我们考虑将Connection绑定到T Read More
posted @ 2019-04-03 11:13 SasaL Views(539) Comments(0) Diggs(0) Edit
示例采用三层框架 web层: service层: dao层: 客户端jsp页: 事务的注意事项: 手动开启事务都用 conn.setAutoCommit(false); 要用同一个conn控制事务。 Read More
posted @ 2019-04-02 14:53 SasaL Views(327) Comments(0) Diggs(0) Edit
上一页 1 2 3 4 5 6 7 ··· 11 下一页