自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 openlayer + geoserver 发布地图服务

openlayer + geoserver 发布WMS/WFS一、软件环境下载安装webstorm,下载地址下载安装node.js,安装教程百度一堆不再赘述下载地址下载安装Tomcat,安装教程百度一堆不再赘述下载地址下载geoserver,下载地址二、环境配置Tomcat启动后如果控制台显示中文乱码,在Tomcat安装根目录,conf文件夹中找到logging.properties文件,编码修改成GBK。将下载的geoserver,解压出来的war包放入Tomcat中webapps目

2021-05-27 18:31:20 911

原创 设计模式之模板方法模式

一、模板方法模式基本介绍模板方式模式(Template Method Pattern),在一个抽象类中定义了一个模板方法,模板方法中包含一系列需要执行的抽象方法,在子类中按需实现父类的抽象方法。模板方法是定义一个操作(或者流程)中的算法结构,而将算法的具体实现放到子类中去实现,这样使子类可以不改变算法的结构,就能重新定义改算法的某些特定需求。模板方法属于行为型模式public abstract class AbstractClass { /** * 定义的模板方法,包含3

2021-05-27 00:24:31 103

原创 解决iview modal拖动出边界问题

iview modal 弹窗拖出边界就拖不回来了,并且关闭后再打开还是在原位置,必须刷新页面才可正常显示,问题图片如下解决思路:1、改源码,太麻烦直接pass2、用自定义指令覆盖原实现废话不多说,直接上源码//vue绑定事件的工具类import {off, on} from './components/libs/dom'Vue.directive('dragControl', { bind: function (el, binding, vnode) { .

2021-05-20 10:51:33 1162 3

原创 设计模式之工厂模式

一、简单工厂模式定义:简单工厂模式属于创建型模式,又叫静态工厂方法模式,是由一个工厂对象根据传入的对象动态的决定创建出哪一种产品类的实例。这些产品类继承自一个父类或者接口。优点:工厂类包含了必要的逻辑判断,根据外界传入参数创建具体类的实例。外界不必直接创建对象,仅仅消费对象即可,不必知道对象的如何创建的。明确各自的职责有利于软件体系结构的优化缺点:工厂类包含所有实例的创建逻辑。违反单一职责,当产品的类别不断增多时,工厂类因为对外部传入条件的判断和对产品类型的判断耦合在一起工厂类会越来越臃肿。

2021-05-16 00:39:39 147

原创 设计模式设计原则之迪米特法则

迪米特法则的基本介绍迪米特法则的核心是**降低类与类之间的耦合**(降低不等于消除)一个对象应该对其他对象保持最少的了解类与类关系越密切(继承、聚合、组合、关联),耦合度越大迪米特法则又叫最少知道原则,一个类对自己依赖的类了解的越少越好,被依赖的类不管多复杂,都尽量**将自身逻辑封装在自己类的内部**,对外只提供public方法不对外泄露任何信息。如果遵守迪米特法则,当一个模块修改时,就会尽量少的影响其他的模块,所有的修改都在自己的类中进行,这样扩展就会相对简单。迪米特的其它表述方式迪米

2021-05-14 01:23:16 82

原创 设计模式之单例模式

单例模式说明在实际的开发过程中,有一些对象其实值需要一个就可以,比如:线程池、缓存、工具类、日志对象、驱动程序等。这类对象如果有多个实例,会导致许多问题产生,比如程序的行为异常、资源使用过量、。单例模式保证系统中改类只存在一个对象,节省系统资源,对于频繁创建销毁的对象,使用单例模式能提高系统性能实现方式一:饿汉式(静态常量)public class SingletonTest { public static void main(String[] args) { Singl

2021-05-14 01:22:23 113

原创 设计模式设计原则之开闭原则

开闭原则的定义在面向对象编程中,开闭原则规定“软件中的对象(类,模块,函数等等)应该对于扩展(提供方)是开放的,但是对于修改(使用方)是封闭的”,这意味着一个实体是允许在不改变它的源代码的前提下变更它的行为。该特性在产品化的环境中是特别有价值的,在这种环境中,因为改变源代码需要代码审查,单元测试以及诸如此类的用以确保产品使用质量的过程。遵循这种原则的代码在扩展时并不发生改变,因此无需上述的过程。当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现开闭原则非常重要,设

2021-05-14 01:14:30 82

原创 设计模式设计原则之里式替换原则

OO的继承性的思考父类已经实现的方法,是在设定一种规范和约定,它不强制要求所有的子类都必须遵循这些约定,但是如果子类对这些已经实现的方法修改(Override),就会破坏整个继承体系。继承给程序带来便利(重用性)的同时,也带来的弊端,例如使用继承会给程序带来侵入性,增加对象的耦合性(对基类的修改可能会影响到子类)、降低可移植性。如果一个类被继承,则当这个类需要修改时,必须考虑所有的子类,并且父类修改后,涉及到的所有的子类功能都有可能会出现问题。里式替换原则的定义里氏替换原则(Liskov Su

2021-05-14 01:13:54 61

原创 设计模式设计原则之依赖倒转原则

依赖倒转原则(Dependence Inversion Principle)注意事项高层模块不应该依赖(使用)底层模块,二者都应该依赖其抽象底层模块尽量要有抽象类或者接口,程序稳定性更好变量的声明类型尽量是抽象类或者接口,变量引用于实际对象之间会存在一个缓冲层,利于程序的扩展优化(eg:在替换变量的实现类时,只需要修改当前变更位置,而不用修改其余调用位置)细节(实现类)应该依赖抽象(接口、抽象类),抽象不应该依赖细节依赖倒转的中心思想是面向接口编程相对于细节的多变性,抽象的东西要更稳定。以抽象

2021-05-14 01:12:45 54

原创 设计模式设计原则之接口隔离原则

接口隔离注意事项类不应该依赖(使用)它不需要的接口,一个类对另一个类的依赖应该建立在最小接口上interface Operation { void method1(); void method2();}class A { public void depend(Operation o) { o.method1(); }}class B { public void depend(Operation o) { o.me

2021-05-14 01:11:05 64

原创 设计模式设计原则之单一职责原则

原始需求:设计一个动物类,实现他移动方法class Animal { /** * 移动 * @param animalType 动物类型 */ public void move(String animalType) { System.out.printf(animalType + "在路上跑"); }}需求变更:实现鸟、鱼的移动方法//写法一class Animal { /** * 移动 * @p

2021-05-14 01:08:09 42

原创 设计模式重要性的理解

设计模式重要性的理解在软件工程中,设计模式是对软件设计中普遍存在的各种问题,所提出的解决方案。当一个项目开发完成后,如果客户提出新增功能或者修改功能,如何解决?一个功能完成后,以后绝对不变,这基本不可能。一个优秀的产品或者强大的功能不是一天就变得完美的而是通过不停的迭代、变化慢慢变得完美。如果项目的写的不好,新增加一个功能成本过高,或者修改一个功能,改动量非常大。说明软件的设计就不合理。接手维护别人写的项目怎么办?如果项目本身有很好的维护性,就很好维护。维护性主要体现在代码的可读

2021-05-11 20:36:57 310

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除