Yang

一壶浊酒,水调歌头

排序:
默认
按更新时间
按访问量

设计模式六大原则综述

1. 开闭原则(Open Close Principle)开闭原则的意思是:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。2...

2017-11-22 11:04:01

阅读数:101

评论数:0

设计模式最简Demo:工厂方法模式[Factory Method Pattern]

1. 程序需求在简单工厂模式中,我们实现了一个简单的计算器,客户端在不知道运算类的情况下只需要传入一个简单的运算符就可以获取相应的操作进行运算,但是,如果我们想增加一个运算法则,比如乘方,我们考虑一下程序中需要修改的地方,首先需要扩展Operation类,增加一个乘方运算的子类,同时需要修改Ope...

2017-11-22 10:51:57

阅读数:138

评论数:0

设计模式最简Demo:代理模式[Proxy Pattern]

1. 程序需求在现实生活中,我们经常遇到这样的场景,我们喜欢某个女生,但是却没有机会认识,为了表达爱意,通常找一个好哥们儿去代替我们送一些小礼物,表达爱意。其实这就是一个代理模式的案例。2. UML3. Java实现GiveGiftpackage proxy_pattern.girl;public...

2017-11-22 00:32:23

阅读数:199

评论数:0

设计模式最简Demo:装饰者模式[Decorator Pattern]

1. 程序说明新开了一家咖啡店,可以往咖啡里面加各种配料,牛奶、糖、奶泡等。按照面向对象的设计中,我们最先想到的是设计一个简单咖啡类,然后分别设计加牛奶的咖啡,加糖的咖啡,加奶泡的咖啡去继承简单咖啡类,但是当有一天,配料越来越多,而且用户需求越来越千奇百怪,比如加糖的同时又要加奶泡……那么子类会灾...

2017-11-21 00:29:50

阅读数:128

评论数:0

设计模式最简Demo:策略模式[Strategy Pattern]

1. 程序需求在软件开发中也常常遇到类似的情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能。在旅行系统开发中,我们需要为旅行者准备自行车、开车、火车等不同的策略,旅行者可以根据自身情况选择不同策略。2. UML3. Java 实现Transp...

2017-11-20 09:37:31

阅读数:91

评论数:0

设计模式最简Demo:策略模式 + 简单工厂模式

1. 程序需求商场收费系统,需要支持正常收费,打折收费,现金返利,积分等计费方式。2. 简单工厂模式2.1 UML2.2 Java实现Cashpackage simple_factory_pattern.market;public abstract class Cash { protect...

2017-11-19 19:00:12

阅读数:111

评论数:0

设计模式最简Demo:简单工厂模式[Simple Factory Pattern]

1. 程序需求实现一个计算器程序,要求能实现加减乘除等常用操作,且扩展性强。2. UML图3. Java实现Operationpackage simple_factory_pattern;public abstract class Operation { protected double ...

2017-11-19 16:41:49

阅读数:89

评论数:0

Tor - 洋葱路由 - 在Ubuntu 16.04 安装tor代理

1 系统要求Ubuntu 16.042 安装步骤sudo -i echo deb http://deb.torproject.org/torproject.org xenial main > /etc/apt/sources.list.d/tor.list echo deb-src http...

2017-11-10 19:02:57

阅读数:749

评论数:0

SSH常用操作

1. 登录# 口令登录[如果客户端的用户名和服务器的用户名相同,可以省略user] ssh user@host -p port #私钥 user@host 公钥登录,需要在服务器的.ssh的authorized_keys下有客户端的公钥 ssh -i 私钥 user@host -p port2. ...

2017-10-24 15:44:22

阅读数:155

评论数:0

Kali Linux工具集——信息搜集

0trace、tcptraceroute、traceroute描述:进行路径枚举时,传统基于ICMP协议的探测工具经常会受到屏蔽,造成探测结果不够全面的问题。与此相对基于TCP协议的探测,则成功率会有所提高,同时基于已经建立的合法TCP会话的探测则更具优势,甚至可以探测到目标内网。虽然没有银弹,但...

2017-10-17 14:08:58

阅读数:763

评论数:0

SSH内网穿透的N种姿势

作为一名开发者,我们生活中常遇到公司做不完的工作需要在家接着做,但是,公司的服务器有统一管理,多为内网ip,在家不能直接访问到公司服务器,如果解决这个问题呢?本文就以下两种情景给出SSH内网穿透的解决方案。

2017-10-10 11:04:28

阅读数:1314

评论数:0

协议-传输层-ICMP

1. ICMP简介ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用...

2017-10-07 15:34:06

阅读数:228

评论数:0

MySQL数据库操作总结

1 数据库1.1 数据库常用命令 show databases;#查看数据库 create database db_name;#创建数据库 use db_name;#使用数据库 drop database db_name;#删除数据库 show create database db_name\G ...

2017-09-30 01:16:49

阅读数:191

评论数:0

Java ip工具类

1. 功能:输入一个子网中的ip和子网掩码,可以获取: 起始ip 结束ip 子网中所有ip集合 2. 代码import java.util.*;public class IpUtil { /** * 测试 * @param args */ public ...

2017-09-28 19:25:13

阅读数:175

评论数:0

Spring学习(七):通过Java代码装配bean

1. 引言尽管在很多场景下通过组件扫描和自动装配实现Spring的自动化配置是更为 推荐的方式,但有时候自动化配置的方案行不通,因此需要明确配置 Spring。比如说,你想要将第三方库中的组件装配到你的应用中,在这种情况下,是没有办法在它的类上添加@Component和@Autowired注解的,...

2017-09-27 20:46:48

阅读数:178

评论数:0

Spring学习(六):各种注解解释——长期更新

1. 什么是注解解释何为注解的最佳方式就是元数据这个词:描述数据自身的数据。注解就是代码的元数据,他们包含了代码自身的信息。注解可以被用在包,类,方法,变量,参数上。被注解的代码并不会直接被注解影响。这只会向第三系统(比如Spring)提供关于自己的信息以用于不同的需求。声明一个注解需要使用“@”...

2017-09-27 18:12:39

阅读数:145

评论数:0

协议-网络层-IPv4

1. 数据包准备我们首先通过wireshark抓取一个ICMP的数据包,该协议是IPv4上层的协议,我们可以通过分析该数据包查看IPv4数据包的组成。0000 04 f9 38 b8 31 5d 00 21 86 29 c5 aa 08 00 45 00 0010 00 3c 41 88 ...

2017-09-26 21:55:40

阅读数:354

评论数:0

Spring学习(五):自动化装配Bean

1. 引言在本系列之前的文章中,我们实现了Spring的HelloWorld应用,也通过了解Spring的容器知道了容器的职责是创建程序中的bean并通过依赖注入把协调这些对象之间的关系,但是要创建哪些bean并且如何装配是你需要告诉Spring的,Spring提供了三种主要的装配机制: 在XML...

2017-09-25 21:00:37

阅读数:125

评论数:0

协议-数据链路层-以太网

我们从wireshark抓取一个TCP的数据包:0000 04 f9 38 b8 31 5d 00 21 86 29 c5 aa 08 00 45 00 0010 00 3c 11 ce 00 00 80 06 00 00 0a 0a 0c a3 ca 6c 0020 17 71 ed...

2017-09-24 16:45:21

阅读数:185

评论数:0

新买的阿里云ECS基本安全运维

1. 引言购买了阿里云的ECS后,默认很多配置不够安全,我们需要进行一些维护操作。2. 添加新用户#不推荐用useradd,不会帮我们创建同名的用户主目录 adduser xxx # xxx为你的用户名 #系统会让你输入几个信息,输入回车就好,同时会设置密码3. 给新用户设置管理权限#1.root...

2017-09-22 09:40:09

阅读数:759

评论数:0

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