架构
文章平均质量分 63
jackie_05
打工阶段
展开
-
设计模式系列(二)设计模式原则——开闭原则(Open Close Principle)
简介 最基础,最重要的原则,其他原则主要作用用于实现开闭原则 一个软件实体如类,模块和函数应该对扩展开放(提供方),对修改关闭(使用者),用抽象构建框架,用实现扩展细节; 当软件需要变化的时候,尽量用扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现。 举例public class Ocp { public static void main(String[] args) { GraphicEditor editor = new Graph原创 2021-11-05 18:28:05 · 180 阅读 · 0 评论 -
设计模式系列(二)设计模式原则——迪米特法则(Demeter Principle)
简介 一个对象应该对其他对象保持最少的了解 类与类关系越密切,耦合度越大 迪米特法则又叫最少知道原则,即一个类对自己依赖的类知道的越少越好。也就是说,对于被依赖的类不管多么复杂,都尽量将逻辑封装在类的内部。对外除了提供的public方法,不对外泄露任何信息 迪米特法则还有个更简单的定义:只与直接的朋友通信——每个对象都会与其他对象由耦合关系,只要两个对象之间有耦合关系,我们就说这两个对象之间是朋友关系。耦合的方式很多,依赖,关联,组合,聚合等。其中,我们称出现成员变量,方原创 2021-11-05 18:23:28 · 127 阅读 · 0 评论 -
设计模式系列(二)设计模式原则——里氏替换原则(Liskov Substitution Principle)
里氏替换原则用于规范类的继承,防止类父类的修改过多影响到子类而提出的一种设计原则。 里氏替换原则在1988年,由麻省理工学院的Liskov女士提出的。 如果对每个类型为T1的对象o1,都有类型为T2的对象o2,使得以T1定义的所有程序 P在所有的对象o1都代换成o2时,程序P的行为没有发生变化,那么类型T2是类型T1 的子类型。所有引用基类的地方必须能透明地使用其子类的对象。 在使用继承时,遵循里氏替换原则,在子类中尽量不要重写父类的方法 里氏替换原则告诉我们,继承实际上原创 2021-11-05 18:14:35 · 121 阅读 · 0 评论 -
设计模式系列(二)设计模式原则——依赖倒转原则 (dependency inversion principle)
描述 高层模块不应该依赖低层模块,二者都应该依赖其抽象 抽象不应该依赖细节,细节应该依赖抽象 依赖倒转(倒置)的中心思想是面向接口编程 依赖倒转原则是基于这样的设计理念:相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建的架构比以细节为基础的架构要稳定的多。在Java中, 抽象指的是接口或抽象类,细节就是具体的实现类 使用接口或抽象类的目的是制定好规范,而不涉及任何具体的操作,把展现细节的任务交给他们的实现类去完成 示例:使用Person类完成消息接原创 2021-11-05 18:04:31 · 109 阅读 · 0 评论 -
设计模式系列(二)设计模式原则——接口隔离原则
基本介绍 客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上 类B和D实现接口Interface1,实现5个方法,A依赖接口Interface1的operation1、2、3三个方法;C依赖接口Interface1的operation1、4、5三个方法 public class Segregation1 { publilc static void main(String[] args) { }}interface I...原创 2021-11-04 16:07:42 · 96 阅读 · 0 评论 -
设计模式系列(二)设计模式原则——单一职责原则
原则描述——单一职责原则 降低类的复杂度,一个类只负责一项职责 提高类的可读性,可维护性 降低变更引起的风险 通常情况下,我们应当遵守单一职责原则,只有逻辑足够简单,才可以在代码级违反单一职责原则;只有类中方法数量足够少,可以在方法级别保持单一职责原则 举例: 1. 不遵守单一职责原则,造成单个类适配不同交通工具造成“飞机在公路上跑” 2. 单一职责原则,类内拆分——花销较大,客户端需要较大修改public class S...原创 2021-11-04 15:13:48 · 176 阅读 · 0 评论 -
设计模式系列(一)概述
设计模式的重要性1. 软件工程中,设计模式是对软件设计中普遍存在的各种问题所提出的解决方案。由Erich Gamma 于1990年从建筑领域引入计算机科学2. 新需求引入,好的设计容易扩展3. 好的设计有可读性、规范性,容易维护、交接4. 面向对象->功能模块(设计模式+算法(数据结构))->框架(多种设计模式)->架构(服务器集群)设计模式的目的1. 代码重用性,相同功能代码,不用多次编写2. 可读性,编程规范,便于其他程序员阅读和理解3. 可扩展性,当需要扩展新功原创 2021-11-04 15:03:39 · 102 阅读 · 0 评论 -
使用nginx配置访问k8s服务
k8s访问通过服务名称,不能使用ip直接访问暴露的服务,可以使用proxy_set_header Host 后面加上具体的服务名称即可实现ip访问。原创 2019-10-30 12:50:42 · 2864 阅读 · 0 评论