设计模式有两种分类方法,即根据模式的目的来分和根据模式的作用的范围来分。 1. 根据目的来分 1.1.根据模式是用来完成什么工作来划分,这种方式可分为创建型模式、结构型模式和行为型模式 3 种。 创建型模式:用于描述“怎样创建对象”,它的主要特点是“将对象的创建与使用分离”。GoF 中提供了单例、原 ...
分类:
其他好文 时间:
2020-05-05 17:50:26
阅读次数:
67
一、设计模式目的 1)代码重用性 2)可读性 3)可扩展性 4)可靠性 5)使程序员呈现高内聚,低耦合的特性 二、设计模式七大原则 1)单一职责原则 2)接口隔离原则 3)依赖倒转(倒置)原则 4)里氏替换原则 5)开闭原则 6)迪米特法则 7)合成复用原则 三、单一职责原则 基本介绍: 对于类来说 ...
分类:
编程语言 时间:
2020-05-03 18:32:50
阅读次数:
70
单一职责原则的英文是Single Responsibility Principle,简称SRP。我们在设计类的时候,尽量避免设计大而全的类,要设计粒度小、功能单一的类,使得一个类只负责完成一个功能,这样有利于提高代码的复用性、可读性、可维护性,实现代码高内聚、低耦合。 ...
分类:
其他好文 时间:
2020-05-02 11:56:24
阅读次数:
73
一个好的程序员,应该能设计出好的架构,而好的架构的各个系统之间往往是低耦合的,而消息队列,正是一个解耦的神器。 (1) 消息队列,也称消息中间件,主要优点是解耦、削峰、异步扩展性;并且kafka还能保证消息是顺序消费; (2) Kafka会将数据写到磁盘,所以不用担心数据断电丢失,所以,有时候,ka ...
分类:
其他好文 时间:
2020-04-29 17:55:16
阅读次数:
66
封装(对类中的属性) 程序追求: 高内聚:类的内部数据操作细节自己完成,不允许外部使用干涉 低耦合:仅仅暴露少量方法给外部使用 封装: 1.属性私有(private) 2.public get/set方法,对属性进行操作 意义: 1.提高程序安全性,保护数据(private) 2 能对属性赋值进行相 ...
分类:
其他好文 时间:
2020-04-24 01:45:18
阅读次数:
50
1 面向对象(OOD)的三大基本特性 封装 <1>封装:就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象进行操作,对不可信的数据或者方法进行隐藏。一个类就是一个封装了数据以及操作这些数据的的代码的逻辑实体,在一个对象内部,代码可以是私有的,不能被外界访问,通过这种方式, ...
分类:
其他好文 时间:
2020-04-21 09:18:52
阅读次数:
85
单一职责原则(对象职责明确原则) 要求:一个对象只做好一件事情,必须专注,职责过多容易引起变化的原因就多程序就不稳定(高内聚、低耦合的延申) 开放封闭原则(核心原则) 要求:需求变化时尽量少的修改类的设计,而是通过扩展类来完成。即封闭修改,开放扩展 依赖倒置原则(OOP精髓) 要求:基于接口编程,高 ...
分类:
其他好文 时间:
2020-04-12 16:33:19
阅读次数:
70
MVC和MVT设计模式核心: 解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性 MVC各部分的功能: 1. M全拼为Model,主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作 2. V全拼为View,用于封装结果,生成页面展示的html内容 3. C为Controll ...
分类:
编程语言 时间:
2020-04-11 14:39:14
阅读次数:
123
入职公司后,公司要求组件化开发,经过讨论后我将网络请求框架单独进行了封装,不过当时框架里将常用的 util 和 ui 均放入到了共同的 Common 包下,导致里面部分代码耦合,后来为了降低耦合性又将 Common 拆分为了lib_common和lib_ui,但是 lib_ui 依赖了 lib_common,还是导致部分代码耦合,最新一期为了降低组件之间的耦合性,所以单独将 lib_common 中的网络请求单独拆分,并且我又做了新的封装和完善,总之网络框架经过3次大的改造后,使用已经非常稳定了。
分类:
编程语言 时间:
2020-04-10 00:16:47
阅读次数:
93
我们在实际项目开发中使用注解的目的:为了追求低耦合,降低后期的维护成本。平时自己在实际项目也会经常用到注解,所以想着自己总结一下注解的知识点,毕竟"好记性不如烂笔头",忘记的时候可以自己打开文章梳理一下,下面开始进入正文。 一、注解的本质: 从源码角度分析 [java.lang.annotation ...
分类:
编程语言 时间:
2020-04-06 13:58:36
阅读次数:
75