设计模式
文章平均质量分 82
设计模式
Tzk_
初听不知曲中意,再听已是曲中人。
展开
-
设计模式 - 责任链模式
为什么会有shell脚本?日常运维工作大部分是 一些繁琐的重复工作,每天大部分重复昨天的事情。那么摆在运维前的选择就是:A:自己搞定B:让机器搞定shell脚本是入门最快,最高效的一个脚本语言。一、shell是什么?是一个程序。采用C语言编写,是用户和linux内核沟通的桥梁。它即是一种命令语言,又是一种解释型编程语言,通过一个图表示shell的作用二、shell功能命令行解释功能启动程序输入输出重定向 —文件导入到命令中,把原本输出到屏幕的数据信息写入到指定文件中。管道连接原创 2021-09-08 21:23:13 · 4153 阅读 · 4 评论 -
ER图总结
本文目录:两个有趣故事老田买火车票买火车票已经是很老的话题了。老田以前每年都会坐绿皮车回家过年,幸运的是这两年老家市区也有高铁了,少了些许奔波。现在就来回忆下当年的情景:每到年底最头疼的就是抢火车票,每次都需要去火车站排队买票。因为只要网上的票一开始出售,基本上都是手慢无,最后就只能在周末时去火车站买票了。但是,有一次无意间听说黄牛可以帮忙买票,只是要付点手续费。于是,后面每当自己抢不到票时,都会走黄牛,费用也不是很高。相比自己苦逼到火车站买票,还是轻松很多的。原创 2022-05-12 20:30:05 · 1835 阅读 · 0 评论 -
探讨—面向对象
面向对象(Object Oriented)是软件开发方法。对象的含义是指具体的某一个事物,即在现实生活中能够看得见摸得着的事物。在面向对象程序设计中,对象所指的是计算机系统中的某一个成分。在面向对象程序设计中,对象包含两个含义,其中一个是数据,另外一个是动作。对象则是数据和动作的结合体。对象不仅能够进行操作,同时还能够及时记录下操作结果。特征:(1)对象唯一性。每个对象都有自己唯...原创 2019-12-26 09:24:19 · 755 阅读 · 11 评论 -
如何理解封装、继承和多态。
面向对象三要素是:封装 继承 多态封装封装就是事物抽象为类,把对外接口暴露,将实现和内部数据隐藏。打个比方吧; 我们使用的VB6.0 它的控件,里面的每个属性,属性后面具体数据 我们是看不到的,把它封装好,组成的控件。这个就叫封装。封装的意义: 封装的意义在于保护或者防止代码(数据)被我们无意中破坏。在面向对象程序设计中数据被看作是一个中心的元素并且和使用它...原创 2019-08-15 20:05:21 · 1098 阅读 · 19 评论 -
面向过程和面向对象各自的特征详细论述
面向过程,现实生活中 什么样,就怎么做。 它是一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响。与面向对象明显的不同就是封装、继承、类。简写为POP。面向对象,思想出现的比较晚,现实生活中没有 我们进行抽象。 面向对象(Object Oriented)是软件开发方法,一种编程范式。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工...原创 2022-05-13 19:45:31 · 901 阅读 · 1 评论 -
生产出现oom问题,怎么排查?
一般常见的OOM,要么是短时间内涌入大量的对象,导致你的系统根本支持不住,此时你可以考虑优化代码,或者是加机器;要么是长时间来看,你的很多对象不用了但是还被引用,就是内存泄露了,你也是优化代码就好了;这就会导致大量的对象不断进入老年代,然后频繁full gc之后始终没法回收,就撑爆了要么是加载的类过多,导致class在永久代理保存的过多,始终无法释放,就会撑爆。原创 2022-06-07 20:53:28 · 519 阅读 · 1 评论 -
软件设计(原则)
通过一版本到七版本的学习,首先从一个简单的5+6 到 输入的值与数据库中的值,还有配置文件的值 相加减。 从简单的两个值直接打印输出,中间,不但体现到了封装隔离,还会提到了,对客户的体验,站在客户的角度进行思考问题。通过一版本到七版本的学习,首先从一个简单的5+6到 输入的值与数据库中的值,还有配置文件的值 相求和。 嗯,从简单的两个值直接打印输出,中间,不但体现到了封装隔离,还会提到了,对客户的体验,站在客户的角度进行思考1.开闭原则——一个软件实体应该对扩展开放,对修改关闭,...原创 2021-01-20 15:11:11 · 4912 阅读 · 21 评论 -
设计模式之 简单工厂与工厂方法的区别?
简单工厂模式简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。 简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。定义产品接口 , 通过实现产品接口创建具体的产品类 , 如生产手机配件,将手机配件做为上级接口,然后创建手机屏幕类, 电池类 实现手机配件接口 。 重写 ...原创 2020-02-05 15:58:55 · 251 阅读 · 11 评论 -
设计模式之 【访问者模式模式】
访问者模式定义:表示一个作用与某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下 定义作用于这些元素的新操作。什么时候使用呢:1、一个对象结构包含很多类对象,它们有不同的接口。你想这些对象实施一些依赖于具体类的操作。2、要扩展新功能,添加目前尚未考虑到的方法。3、对象结构的类很少改变,但又经常 需要在此结构上定义新的操作时。改变对象结构类要修改接口,代价...原创 2020-02-03 20:35:51 · 391 阅读 · 8 评论 -
设计模式之 【解释器模式】
解释器模式定义: 给定一个语言,定义他的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。能够解决的问题 :如果一种特定的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语句中的句子。这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题。 //抽象表达式abstract class Abstract...原创 2020-02-02 10:37:56 · 459 阅读 · 11 评论 -
设计模式之 【享元模式】
享元模式定义:运用共享技术有效地支持大量细粒度的对象。理解 :它使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件;它适合用于只是因重复而导致使用无法令人接受的大量内存的大量物件。通常物件中的部分状态是可以分享。常见做法是把它们放在外部数据结构,当需要使用时再将它们传递给享元。结构两个状态:内蕴状态存储在享元内部,不会随环境的改变而有所...原创 2020-02-01 20:01:43 · 650 阅读 · 7 评论 -
设计模式之 【中介者模式】
中介者模式 定义: 用一个中介者对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立得改变他们之间得交互。理解:各对象显式地持有对方引用, 用于对象之间的交互, 交互关系形成网状结构, 不利于系统维护以及开发人员的理解. 这时可以定义一个中介者对象, 封装注册各对象的引用, 以及完成对象之间的交互操作. 同事对象之间不能直接交互, 它...原创 2020-01-30 20:53:20 · 1878 阅读 · 15 评论 -
设计模式之 【职责链模式】
职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接收者直接按的耦合关系。将这个对象连城一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。个人理解 : 就是 一个人找人去请假, 三天之内老师先处理。超过三天需要找教导主任,。假如老师处理不了的话,就会把这个请求给教导主任。 直到有人 把你的请的假同意 为止。优点:职责链模式的最主要功能就是:动态组合,请求者...原创 2020-01-29 21:49:29 · 590 阅读 · 14 评论 -
【设计模式】——六大原则
单一职责原则课本定义:单一职责原则(SRP)就一个类而言,应该仅有一个引起它变化的原因。为什么要遵守单一职责原则1、提高类的可维护性和可读写性2、提高系统的可维护性3、降低变更的风险开闭原则课本定义:开放-封闭原则,是说软件实体(类、模块、函数等等)可以可以扩展,但是不可以修改。个人理解: 对于扩展是开放,对于修改代码关闭。依赖倒转原则课本定义:A.高层模块...原创 2020-01-14 21:23:01 · 2105 阅读 · 15 评论