1 marcushbs

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 27w+

设计模式的定义和分类

1、设计模式的定义和分类设计迷失的出现可以让开发人员站在前人的肩膀上,通过一些成熟的设计方案来指导新项目的设计和开发没以便于开发出具有更好的灵活性和可拓展性。也更易于复用的软件系统,设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码,让代码更容易被他人理解并且提高代码的可靠性。设计模式是一种用于对系统中不断重现的设计问题的解决方案进行文本化的技术,也是一种共享专家设计经验的技术。GoF对设计模式的定义如下:设计模式 是指在特定环境下为...

2020-07-09 08:20:08

年纪大了,是否该往管理方向转型?

背景很多人心里是想一直做技术的,但是担心随着年纪增加,会造成在技术方面的竞争力不足。加上迫于经验人士的压力,就在纠结要不要转管理岗。不是什么权威意见,仅仅谈谈个人看法。个人观点:做自己想做的事。优劣势技术和管理两个路线各有优劣势。用SWOT分析来展现两个维度的关系。如果有朋友对到底是走哪个路线比较纠结。可以自己列出所有的优劣势,给每一项设置一个权重。计算总体得分,定好方向就不要再纠结了。常见误区1. 管理更高大上?目前国内技术公司的趋势是技术和管理逐渐分离。一个l...

2020-07-08 08:20:03

小账本软件设计之数据库设计模式构建

编写目的该博客是小账本在前期开发阶段针对用户所进行的数据库设计,通过ER图,数据字典,数据流图来对该软件的数据库开发进行设计,并且附上部分源代码进行参考。背景待开发的软件名称为:小账本作业名称:第三次团队博客定义ER图:E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型UML图:UML-Unified Model Language统一建模语言,又称标准建模语言。是用来对软件密集系统进行...

2020-07-07 20:21:12

设计模式

将设计者的思维融入大家的学习和工作中,更高层次的思考! 创建型模式 : 单例模式,工厂模式,抽象工厂模式,建造者模式,原型模式; 结构型模式 : 适配器模式,桥接模式,装饰模式,组合模式,外观模式,享元模式,代理模式; 行为型模式 : 模板方法模式,命令模式,迭代器模式,观察者模式,中介者模式,备忘录模式,解释器模式,状态模式,策略模式,职责链模式,访问者模式;静态内部类实现方式(也是一种赖加载方式) public class SingletonDemo04 { private ...

2020-07-07 15:21:08

springboot mybatis 项目框架源码 shiro 集成代码生成器 ehcache缓存

1.代码生成器: [正反双向](单表、主表、明细表、树形表,快速开发利器)freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面、建表sql脚本、处理类、service等完整模块2.多数据源:(支持同时连接无数个数据库,可以不同的模块连接不同数的据库)支持N个数据源3.阿里数据库连接池druid,安全权限框架 shiro(菜单权限和按钮权限), 缓存框架 ehcache4.代码编辑器,在线模版编辑,仿开发工具编辑器5.调用摄像头拍照 自定义裁剪编辑头像,头像图片色度调节6.web...

2020-07-06 20:21:10

Springboot html vue.js 前后分离 跨域 Activiti6 工作流 集成代码生成器 shiro 权限

官网:www.fhadmin.org特别注意: Springboot 工作流前后分离 + 跨域 版本 (权限控制到菜单和按钮)后台框架:springboot2.1.2+ activiti6.0.0+ mybaits+maven+接口前端页面:html +vue.js 形式 jquery ajax 异步跨域 json 格式数据交互 前后分离,前后台分开部署(特别注意,前端用的vue.js,就是html页面引入vue.js形式, 用tomcat部署运行,更适合后台开发者)工作流...

2020-07-05 20:21:11

设计模式之代理模式(proxy pattern)

代理模式的本质是一个中间件,主要目的是解耦合服务提供者和使用者。使用者通过代理间接的访问服务提供者,便于后者的封装和控制。是一种结构性模式。1.目的为外部调用者提供一个访问服务提供者的代理对象。2.动机限制对目标对象的直接访问,降低耦合度。3.优缺点优点:低耦合易扩展灵活度高缺点:间接访问可能会延迟请求相应增加工作量4.分类静态代理动态代理  代理类本身的实现可能并不简单,加上每一个需要代理的对象均均需要实现一个代理类,其工作量本身比较大,易出错。  所谓动态代...

2020-07-05 08:20:04

java基础第五篇封装与面向对象

a.方法: public static void main(String[] args) { } 一般定义标准: 形参:一般把 不确定的量或者变化的量定义在形参位置//圆的的半径,长方形的长和宽,传递的数组也是不确定的 返回值类型:将运算后的结果类型作为返回值类型//圆的周长,圆的面积,返回数组某个元素 public static int getArea(int width,int length){ r...

2020-07-04 20:21:14

Spring4 基本使用

前言虽然现在基本上是 springboot 的天下了,但是传统的 spring4 在广大的软件企业中仍然占据很大比例。一上手能用,但是要让我从无到有搭一个spring4的开发环境出来,可能会磕磕碰碰,耽误不少时间,所以这里从无到有搭一个 spring4的开发环境出来,一步步完善,也复习下 spring 的基本用法,温故知新。创建maven项目,引入spring4的一些核心包和常用扩展包。我用的是spring4最新版本 4.3.24.RELEASEpom.xml ?xml version=...

2020-07-04 15:21:08

Matlab命令模式

命令模式(Command)将命令封装为对象,实现命令发送者和命令接收者的解耦。线程池、MVC框架用到了命令模式,本文根据以下类图,用matlab实现命令模式。Invoker.m (传递命令对象Invoker:持有命令对象,要求命令对象执行请求)classdef Invoker < handle properties command end methods function setOrder(obj,command) ...

2020-07-04 08:20:09

CQRS之旅——旅程4(扩展和增强订单和注册限界上下文)

旅程4:扩展和增强订单和注册限界上下文进一步探索订单和注册的有界上下文。“我明白,如果一个人想看些新鲜的东西,旅行并不是没有意义的。”儒勒·凡尔纳,环游世界80天 对限界上下文的更改:前一章详细描述了订单和注册限界上下文。本章描述了在CQRS之旅的第二阶段,团队在这个限界上下文中所做的一些更改。本章的主题包括:改进RegistrationProcessManager类中消息相关的工作方式。这说明了限界上下文中的聚合实例如何以复杂的方式进行交互。实现一个记录定位器,使注册者能够...

2020-07-03 20:21:11

设计模式之迭代器与组合模式(二)

在上次的文章中,我们通过层层引导,已经知道了迭代器模式的由来。现在我们再好好总结下。关于迭代器模式,你所需要知道的第一件事情,就是它依赖于一个名为迭代器的接口。这是一个可能的迭代器的接口:现在,我们一旦有了这个接口,就可以为各种对象集合实现迭代器:数组、列表、散列表...如果我么想要为数组实现迭代器,以便使用在DinerMenu中,看起来就像这样:在餐厅菜单中加入一个迭代器想要在餐厅菜单中加入一个迭代器,我们需要先定义迭代器接口:public interface Iterator {...

2020-07-03 08:20:06

8个月打磨,一份送给程序员的「分布式系统」合集

如果第二次看到我的文章,欢迎右侧扫码订阅我哟~

2020-07-02 08:20:06

跟我学SpringCloud | 第八篇:Spring Cloud Bus 消息总线

SpringCloud系列教程 | 第八篇:Spring Cloud Bus 消息总线Springboot: 2.1.6.RELEASESpringCloud: Greenwich.SR1如无特殊说明,本系列教程全采用以上版本前面两篇文章我们聊了Spring Cloud Config配置中心,当我们在更新github上面的配置以后,如果想要获取到最新的配置,需要手动刷新或者利用webhook的机制每次提交代码发送请求来刷新客户端,客户端越来越多的时候,需要每个客户端都执行一遍,...

2020-07-01 08:20:11

面向对象的六大原则之 单一职责原则——SRP

SRP = Single Responsibility Principle定义:就一个类而言,应该只有一个能引起他变化的原因。通俗的说,即一个类只负责一项职责。作用:1、减少了类之间的耦合2、最简单最单纯的事情才是最容易控制,最有效3、当需求变化时,只需要修改一个地方4、 避免写臃肿的方法(俗称万能方法、大方法)常见错误:这里会计类有两个方法:计算工资方法和存储数据方法。这两个方法并不是一个职责,虽然看起来他们都是会计需要做的事情,但是引起他们变化的原因是不同的。...

2020-06-30 08:20:05

深入浅出《设计模式》之外观模式(C++)

前言模式介绍外观模式相比较之下比较简单,模式设计中定义是为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口是的这一子系统更加容易使用。如果不理解呢,简单些说就是外观模式提供了为内部提供了同意的接口层,解耦了子系统和客户端,这样客户端只需要知道外观类存在即可,不需要知道具体子系统是如何实现的。举一个简单的例子,海参面馆中两个主打面食是:海参炒面辣根汤面两个主打面食都由一个师傅来做,这个师傅会这两种面食的做法。具体的做法呢如下:- 海参炒面1. 剥蒜2...

2020-06-29 20:21:13

分布式锁----Redis实现

分布式锁  为什么需要有分布式锁呢,在单点的时候synchronized 就能解决,但是服务拆分之后,每个服务都是单独的机器,无法解决,所以出现了分布式锁,其实也就是用各种手段,实现获取唯一锁,别人无法得到。  其实在做分布式锁的前提,需要先明白,synchronized 为啥不能使用了,啥原理让他在一个机器上可以使用。   synchronized 的原理    众所周知 Synchronize 关键字是解决并发问题常用解决方案,有以下三种使用方式:同...

2020-06-28 20:21:14

类空间问题以及类之间的关系

一. 类的空间问题1.1 何处可以添加对象属性class A: def __init__(self,name): self.name = name def func(self,sex): self.sex = sex# 类外面可以:obj = A('barry')obj.age = 18print(obj.__dict__) # {'name': 'barry', 'age': 18}# 类内部也可以:obj = A('bar...

2020-06-28 08:20:06

网络协议 2 - IP 地址和 MAC 地址

了解完网络协议,我们会发现,网络通信的五层模型里,有两个很重要的概念:IP 地址和 MAC 地址。那么 IP 地址是怎么来的,又是怎么没的?MAC 地址与 IP 地址又有什么区别?这回答上面问题前,先热下身,大家知道如何查看本机的 IP 吗?这个问题,即便是没有专业学过计算机的人,只要折腾过电脑,重装过系统,大多都会知道答案:在 Windows 下是 ipconfig,在 linux 下是 ifconfig。在 Windows 下输入 ipconfig,我们会看到这个界面:在 linux ...

2020-06-27 08:20:06

设计模式-创建型-原型模式

引言:  原型模式是什么?它是在什么场景下被提出的呢?本章节,我们将详细了解下原型模式。  在软件系统中,当创建一个类的实例过程过于昂贵或复杂,并且我们需要创建多个这样类的实例时,如果我们通过new来创建类实例,这就会增加创建类的复杂度和创建过程与客户代码复杂的耦合度。如果采用工厂模式来创建这样的实例对象的话,随着产品类的不断增加,导致子类的数量不断增多,也导致了相应工厂类的增加,维护的代码维度增加了,因为有产品和工厂两个维度了,反而增加了系统复杂程度,所以在这里使用工厂模式来封装类创建过程并...

2020-06-25 15:21:07

查看更多

勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。