代理的本质无论任何时候,只要谈到设计模式,大脑中一定要蹦出这四个字“活学活用”。要想对某个事物做到活学活用,必须要对它足够了解,甚至要剖析到本质才行。总是会有些人说,我干嘛要知道原理,干嘛要去看源码?会用就行了。对于这种情况,我只有五个字相送,“你开心就好”。不可否认,认识一个陌生事物,大部分情况还 ...
分类:
其他好文 时间:
2020-05-25 09:20:37
阅读次数:
83
Django之MVC(MTV)设计模式 一、传统MVC 首先说说Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的、松耦合的方式连接在一起, 模型负责业务对象与数据库的映射(ORM), 视图负责与用户的交互(页面), ...
分类:
其他好文 时间:
2020-05-24 16:25:28
阅读次数:
90
什么是工厂设计模式 解耦的本质在于隔离变化 耦合与解耦合本质在于对 变化 的处理。 通常如果将接口的实现类硬编码在程序中,就会使得 变化 散落在程序各处,使得修改会产生连锁反应。 但代码不能完全解耦,如果代码间完全没有关联那程序也就无法正常运行。 所以,解耦的本质在于:隔离变化。 分析这段代码: 首 ...
分类:
其他好文 时间:
2020-05-24 11:30:19
阅读次数:
54
原文:浅谈ASP.NET Core中的DI DI的一些事 传送门马丁大叔的文章 什么是依赖注入(DI: Dependency Injection)? 依赖注入(DI)是一种面向对象的软件设计模式,主要是帮助开发人员开发出松耦合的应用程序。同时呢,让应用更容易进行单元测试和维护。 DI其实就是用一个注... ...
分类:
Web程序 时间:
2020-05-24 00:20:02
阅读次数:
59
原型模式: 原型模式又叫克隆模式 Java自带克隆模式 实现克隆模式必须实现Cloneable 接口,如果不实现会发生java.lang.CloneNotSupportedException异常 当某个类的属性已经设定好需要创建很多相同属性值的对象的时候使用clone模式非常方便 使用clone模式 ...
分类:
编程语言 时间:
2020-05-24 00:14:58
阅读次数:
54
状态模式: 根据状态决定动作 当动作一定但是状态可扩展适合使用状态模式 当动作变化不适合 当状态不会扩展也没有必要使用使用传统的switch即可。 先看一个没有使用状态模式的例子: package com.srr.dp.state; /** * 我的女朋友有很多种状态 * 当给我的女朋友添加新的状态 ...
分类:
编程语言 时间:
2020-05-23 21:54:52
阅读次数:
67
传统设计 分类管理需要:增加,删除,编辑,修改,查询5个服务端功能。 一个路径对应一个Servlet的思路,就需要设计5个Servlet类,并且在web.xml中配置5个路径。 CategoryAddServlet CategoryDeleteServlet CategoryEditServlet ...
分类:
其他好文 时间:
2020-05-23 18:42:57
阅读次数:
62
设计模式 设计模式(Design pattern) 是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。 使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同 ...
分类:
编程语言 时间:
2020-05-23 14:48:41
阅读次数:
49
意图:定义一系列的算法,把他们一个个封装起来,并且使他们可以互相替换,使算法可以独立于使用它的客户变化而变化 暂无理解,以后再回来编辑,先贴代码 TaxStrategy.h #pragma once class TaxStrategy { virtual double Calculate() = 0 ...
分类:
其他好文 时间:
2020-05-23 14:46:28
阅读次数:
51
前言 本节从装饰者模式到Java 里的 IO。装饰者模式能够在不修改任何底层类代码的情况下,给你的(或别人的) 对象赋予新的职责。属于结构型设计模式。符合开闭原则,但是会产生更多的类,提高程序复杂性。 代码实现 UML 角色:抽象的实体类,确定的实体类。抽象的装饰者,确定的装饰者。 Java I/O ...
分类:
其他好文 时间:
2020-05-23 11:15:29
阅读次数:
52