c#设计模式读书博客
第一次在博客园撸博客,也是为了鞭策自己去学习进步,过年之后买了一本《C#设计模式》这是我一直很想去学习的一本书。然后用博客记录我的学习历程,并且分享给需要的人。这本书记录的设计模式有23种,然后每一种设计模式我都会去用一篇单独的博客去解读它,对他的优点,缺点,以及最终要的应用场景做些描述 简单工厂模式 抽象工厂模式 建造者模式 原型模式 单例模式 适配器模式 桥接模式 组合模式 装饰模式 外观模式 享元模式 代理模式 职责链模式 命令模式 解释器模式 迭代器模式 中介者模式 备忘录模式 观察者
设计模式简记-面向对象实战一如何基于充血模型的DDD设计开发虚拟钱包系统
2.8常用的基于贫血模型的MVC架构违背OOP吗? 2.8.1什么是基于贫血模型的传统开发模式? MVC: MVC 三层架构中的 M 表示 Model,V 表示 View,C 表示 Controller。它将整个项目分为三层:展示层、逻辑层、数据层,是一个比较笼统的分层方式,落实到具体的开发层面,并不会100%遵从。 前后端分离的web或app 后端项目分为 Repository 层、Service 层、Controller 层。其中,Repository 层负责数据访问,Service 层负
Spark 保存本地josn格式文件运行报错 IDEA运行异常java.lang.NoClassDefFoundError: org/apache/spark/api/java/function/Function
报错信息: java.lang.NoClassDefFoundError: org/apache/spark/api/java/function/Function
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetMethodRecursive(Class.
Jmeter_请求原件之参数化txt
把数据存放在TXT上进行参数化,然后运行 用于注册,登录等不同的用例 1.登录接口地址: http://test.lemonban.com/futureloan/mvc/api/member/login 2.针对这个登录的接口设计5条测试用例 发送登录请求需要传递2个参数: mobilephone,pwd 1)正常登录 2)正确的用户名和错误的密码 3)不输入用户名 4)不输入密码 5)输入错误的用户名 3.把5天用例数据保存在TXT里 4.Jmeter-》线程组-》添加-》配置原件-》CSV
Thymeleaf使用环境搭建和简单使用
Thymeleaf与JSP比较 与JSP相比,Thymeleaf模板是原生的,不依赖标签库,可以在接收原始的HTML的地方进行编辑和渲染。不与servlet规范耦合。JSP在内嵌的servlet容器上运行有一些问题(内嵌Tomcat,Jetty不支持jar形式运行JSP,Undertow不支持JSP),也就是说,springboot项目如果想使用JSP的话,必须放弃其内嵌的Tomcat。Spring Boot 提供大量的模板引擎(FreeMarker,Groovy,Thymeleaf,Velo
浅谈page,request,session,application四种范围
JaveWeb四种主要的范围: 1.page: page表示页面范围。 页面范围对应的时间段为:从客户访问一个jsp文件开始,到这个jsp文件执行结束。 2.request: request表示请求范围。 请求范围时间段为:从客户请求访问一个jsp文件开始,到这个jsp返回响应结果结束,如果这个jsp文件把请求转发给其他web组件,那么知道其他web组件返回响应结果结束。 请求范围是指服务器响应一次客户请求的过程,从servlet容器接收到一个客户请求开始,到返回响应结果结束, 请求范围与se
DockerCompose之介绍和使用
一、Docker有三大组件:DockerFile,DockerCompose,DockerSwarn。可以看出compose是docker中的一个关键部分。怎么理解他呢? 其实,Compose首先是一个项目,Python语言实现的,如果要使用他,就得先在主机上安装这个软件。这个组件的作用可以理解为是Docker容器的一个快速编排工具,这里编排可以理解为,docker容器的排序和操作,比如启停,先后顺序等等。他主要是简化了docker容器的启停,顺序等的操作步骤。企业级的快速编排工具可以参考k8
Python入门——流程控制之if判断
代码块: 1、代码块指的是同一级别的代码,在python中用缩进相同的空格数(除了顶级代码块无任何缩进之外,其余代码块都是在原有的基础上缩进4个空格)来标识同一级的代码块 2、同一级别的代码块会按照自上而下的顺序依次运行 一. 语法1 '''
if 条件: # 条件成立的情况下会运行子代码块
子代码1
子代码2
子代码3
...
'''
#示例:
age = 73
age = 18
sex='female'
is_beautiful=True
if age >
CentOS安装了iRedMail停用Amavisd + ClamAV + SpamAssassin
转自:http://blog.sina.com.cn/s/blog_56ef54cf0100t0p3.html 可怜的我VPS内存资源有限,而邮件系统的防病毒功能很占内存。 如果希望停用杀毒和发垃圾的功能,编辑/etc/postfix/main.cf 文件,到把最底下的这行注释掉 content_filter = smtp-amavis:[127.0.0.1]:10024 这个时候,postfix接收到的邮件,就不会再交给amavis处理,就可以把amavisd, clamd, freshcl
在centos7开启SSH服务
1、查看是否已安装了SSH服务 $ rpm -qa | grep ssh 该系统中没有安装SSH服务 2、安装SSH服务 $ yum install openssh-server 安装成功 3、启动SSH服务 1)、修改配置文件 $ vi /etc/ssh/sshd_config esc+:wq 保存退出 2)、启动服务 $ /bin/systemctl start sshd.service (该命令没有回显说明成功了) 4、查看端口是否开启 5、映射端
Java Web 笔记(4)
11、Filter (重点) Filter:过滤器 ,用来过滤网站的数据; 处理中文乱码 登录验证…. Filter开发步骤: 导包 编写过滤器 导包不要错 实现Filter接口,重写对应的方法即可
```java
public class CharacterEncodingFilter implements Filter {
//初始化:web服务器启动,就以及初始化了,随时等待过滤对象出现!
public void init(FilterConf
Java内存模型(JMM)与线程
1. JMM JMM是JVM规范中定义的一种模型,来屏蔽掉各种硬件与操作系统的内存访问差异,实现Java程序可以在各种平台下都能达到一致的内存访问效果。 1. 1 volatile volatile关键字是JVM中最轻量级的同步机制。 volatile作用:被volatile关键字修饰的变量具有两个特性:1)保证此变量对所有线程的可见性;2)禁止指令重排序优化。 可见性:指当一条线程修改了共享变量的值,新值对于其他线程来说是可以立即得知的。 指令重排序:保证在方法的执行过程中所有依赖赋值结果的
Python小练习之数据类型训练
一:数据类型的选择 原则:存不是目的,目的是为了取,并且能够方便地取,请使用合适的类型与变量名记录下述状态 1、写入日志 病毒程序需要定期将监控到的数据写入日志文件,请记录下日志文件路径C:\a\b\c\adhsvc.dll.system32,方便后期处理 log_path = r'C:\a\b\c\adhsvc.dll.system32,' # r''---> read,因为可能\会有转义符的意思。 2、请记录下文件信息 病毒程序在上传文件时,发送的报头数据里需要包含文件信息:文件名a.t
Day11 - O - Coin Game HDU - 3951
题目链接 思路:考虑第一个人取的方式: 1.每次能取的次数>= n, 一次取完 first win 2.每次能取1个,n是奇数 first win 3.一次取不完,这种情况下也分2种情况 1)second能一次取完, second win 2)second不能一次取完,则他取一次使得这个链至少有一个部分是能一次取完的 若2个部分都是一次取完的,second win 若1个部分是一次取完的,另一个部分不行,又分两种情况 #1first选择取可以取完的那一堆,那么状况又回到了second取一堆不可
今日推荐
周排行