随笔 - 1162  文章 - 0  评论 - 16  阅读 - 59万 

随笔分类 -  设计模式2

第三节:浅拷贝和深拷贝
摘要:一、浅拷贝 1、对于数据类型是基本数据类型的成员变量,浅拷贝会直接直接值传递,也就是将该属性值复制一份给新的对象; 2、对于数据类型是引用数据的成员变量,比如说成员变量是某个数组、某个类的对象等,那么浅拷贝会进行引用传递,也就是只是将该成员变量的引用值(内存地址)复制一份给新的对象。因为实际上两个对 阅读全文
posted @ 2021-01-07 22:23 格物致知_Tony 阅读(135) 评论(0) 推荐(0) 编辑
第二节:原型模式的应用
摘要:一、原型模式在 Spring 框架中源码分析 1、Spring 中原型 bean 的创建,就是原型模式的应用; 2、代码分析+Debug 源码 3、代码 1 public class Monster { 2 3 private Integer id = 10 ; 4 private String n 阅读全文
posted @ 2021-01-06 22:09 格物致知_Tony 阅读(151) 评论(0) 推荐(0) 编辑
第一节:克隆羊&原型模式
摘要:一、克隆羊问题 现在有一只羊tom, 姓名为: tom, 年龄为: 1, 颜色为:白色,请编写程序创建和tom羊 属性完全相同的10只羊。 二、传统方式实现 1、代码实现 Sheep类: 1 public class Sheep { 2 3 private String name; 4 privat 阅读全文
posted @ 2021-01-06 21:29 格物致知_Tony 阅读(158) 评论(0) 推荐(0) 编辑
第五节:工厂模式总结
摘要:一、工厂模式在 JDK-Calendar 应用的源码分析 测试代码: 1 public class Factory { 2 3 public static void main(String[] args) { 4 // getInstance 是 Calendar 静态方法 5 Calendar c 阅读全文
posted @ 2021-01-05 22:04 格物致知_Tony 阅读(93) 评论(0) 推荐(0) 编辑
第四节:抽象工厂模式
摘要:一、抽象工厂模式 基本介绍 1、抽象工厂模式:定义了一个 interface用于创建相关或有依赖关系的对象簇,而无需指明具体的类; 2、抽象工厂模式可以将简单工厂模式和工厂方法模式进行整合; 3、从设计层面看,抽象工厂模式就是对简单工厂模式的改进(或者称为进一步的抽象)。 4、将工厂抽象成两层,Ab 阅读全文
posted @ 2021-01-05 21:59 格物致知_Tony 阅读(117) 评论(0) 推荐(0) 编辑
第三节:工厂方法模式
摘要:一、分析需求 披萨项目新的需求:客户在点披萨时,可以点不同口味的披萨,比如 北京的奶酪pizza、北京的胡椒pizza 或者是伦敦的奶酪pizza、 伦敦的胡椒pizza。 二、思路分析 1、思路一 使用简单工厂模式,创建不同的简单工厂类,比如BJPizzaSimpleFactory、LDPizza 阅读全文
posted @ 2021-01-04 22:30 格物致知_Tony 阅读(82) 评论(0) 推荐(0) 编辑
第二节:简单工厂模式(静态工厂模式)
摘要:一、简单工厂模式 1、基本介绍 (1)简单工厂模式是属于创建型模式,是工厂模式的一种。 (2)简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式。 (3)简单工厂模式:定义了一个创建对象的类,由这个类来封装实例化对象的行为(代码)。 (4)在软件开 阅读全文
posted @ 2021-01-03 15:34 格物致知_Tony 阅读(190) 评论(0) 推荐(0) 编辑
第一节:不使用设计模式的传统方式
摘要:一、提出需求 分析一个关于生产披萨的项目:要便于披萨种类的扩展,要便于维护。 (1)披萨的种类很多(比如:GreekPizza、CheesePizza 等) (2)披萨的制作有 prepare,bake,cut,box (3)完成披萨店订购功能。 二、使用传统的方式来完成 思路分析:可以得到,将披萨 阅读全文
posted @ 2021-01-03 14:23 格物致知_Tony 阅读(101) 评论(0) 推荐(0) 编辑
第三章:设计模式概述
摘要:一、设计模式介绍 1) 设计模式是程序员在面对同类软件工程设计问题所总结出来的有用的经验,模式不是代码,而是某类问题的通用解决方案, 设计模式(Design pattern)代表了最佳的实践。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。 2) 设计模式的本质提高 软件的 阅读全文
posted @ 2021-01-02 19:14 格物致知_Tony 阅读(94) 评论(0) 推荐(0) 编辑
第二节:类与类之间的关系
摘要:一、依赖关系(Dependence) 只要是在 类中用到了对方,那么它们之间就存在依赖关系。如果没有对象,连编译都通过不了。 Demo: 1 public class PersonServiceBean { 2 //类 3 private PersonDao personDao; 4 5 publi 阅读全文
posted @ 2021-01-01 00:06 格物致知_Tony 阅读(280) 评论(0) 推荐(0) 编辑
第一节:UML 类图
摘要:一、UML 基本介绍 1、UML —— Unified Modeling Language UML(统一建模语言),它是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面, 阅读全文
posted @ 2020-12-29 22:43 格物致知_Tony 阅读(282) 评论(0) 推荐(0) 编辑
第二章:UML 类图
摘要:UML 类图 一、UML 类图 二、类与类之间的关系 阅读全文
posted @ 2020-12-29 22:12 格物致知_Tony 阅读(75) 评论(0) 推荐(0) 编辑
第七届:合成复用原则
摘要:合成复用原则(Composite Reuse Principle) 一、基本介绍 合成复用原则:是尽量使用 合成/聚合的方式,而不是会用继承。 二、设计原则核心思想 1、找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。 2、针对接口编程,而不是针对实现编程。 3、为了 阅读全文
posted @ 2020-12-29 21:43 格物致知_Tony 阅读(136) 评论(0) 推荐(0) 编辑
第六节:迪米特法则(LOD)
摘要:迪米特法则(Law of Demeter)(Demeter Principle) 一、基本介绍 1、一个对象应该对其他对象保持最少的了解; 2、类与类关系越密切,耦合度越大; 3、迪米特法则(Demeter Principle)又叫最少知道原则,即一个类对自己依赖的类知道的越少越好。也就是说,对于被 阅读全文
posted @ 2020-12-29 21:08 格物致知_Tony 阅读(242) 评论(0) 推荐(0) 编辑
第五节:开闭原则(OCP)
摘要:开闭原则(Open Closed Principle) 一、基本介绍 1、开闭原则是编程中最基础、最重要的设计原则; 2、一个软件实体如类,模块和函数应该对外扩展开发(对提供方),对修改关闭(对适用房)。用抽象构建框架,用实现扩展细节。 3、当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而 阅读全文
posted @ 2020-12-29 20:44 格物致知_Tony 阅读(215) 评论(0) 推荐(0) 编辑
第四节:里式替换原则(LSP)
摘要:里式替换原则(Liskov Substitution Principle) 一、OO中的继承性的思考和说明 1、继承包含这样一层含义:父类中凡是已经实现好的方法,实际上是在设定规范和契约,虽然它不强制要求所有的子类必须遵循这些契约,但是如果子类对这些已经实现的方法任意修改,就会对整个继承体系造成破坏 阅读全文
posted @ 2020-12-20 22:26 格物致知_Tony 阅读(291) 评论(0) 推荐(0) 编辑
第三节:依赖倒转原则(DIP)
摘要:依赖倒转原则(Dependence Inversion Principle) 一、基本介绍 依赖倒转原则是指: (1)高层模块不应该依赖低层模块,二者都应该依赖其抽象; (2)抽象不应该依赖细节,细节应该依赖抽象; (3)依赖倒转(倒置)的中心思想是面向接口编程; (4)依赖倒转原则是基于这样的设计 阅读全文
posted @ 2020-12-17 23:22 格物致知_Tony 阅读(215) 评论(0) 推荐(0) 编辑
第二节:接口隔离原则(ISP)
摘要:接口隔离原则(Interface Segregation Principle) 一、基本介绍 1、客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上 2、先看一张图 (1)类 A 通过接口 Interface1 依赖类 B,类 C 通过接口 Interface1 依赖类  阅读全文
posted @ 2020-12-16 22:44 格物致知_Tony 阅读(235) 评论(0) 推荐(0) 编辑
第一节:单一职责原则(SRP)
摘要:单一职责原则(Single Responsibility Principle) 一、基本介绍 对类来说,即一个类应该只负责一项职责。 如类 A 负责两个不同的职责:职责1,职责2。当职责1需求变更而改变 A时,可能造成职责 2 执行错误,所以需要将 类 A 的粒度分解为 A1, A2。 二、应用实例 阅读全文
posted @ 2020-12-15 23:01 格物致知_Tony 阅读(237) 评论(0) 推荐(0) 编辑
第一章:设计模式七大原则
摘要:一、设计模式的目的 编写软件过程中,程序员面临着来自 耦合性,内聚性以及可维护性,扩展性,重用性,灵活性 等多方面的挑战,设计模式是为了让程序(软件),具有更好的: (1)代码重用性(即:相同的功能的代码,不用动词编写) (2)可读性(即:编程规范性,便于让其他程序员的阅读和理解) (3)可扩展性( 阅读全文
posted @ 2020-12-12 23:53 格物致知_Tony 阅读(108) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示