Command模式属于行为模式,作为大名鼎鼎的23个设计模式之一,Command模式理解起来不如工厂模式,单例模式等那么简单直白.究其原因,行为模式着重于使用,如果没有编程实践,确实不如创造模式那么直白.我们先看看UML类图. 估计很多同学看着图就晕了,那么多东西,Command和Concrete Command还好理解,那些Receiver和Invoker又是什么东西呢?   别着急,只要理解了一点,这个模式就很容易理解了,下面划重点,Command模式最主要的特点,是将命令封装成类,在类中保…
背景:讲到反射机制,肯定会想到动态代理. 轻松学,Java 中的代理模式及动态代理 代理模式可以在不修改被代理对象的基础上,通过扩展代理类,进行一些功能的附加与增强.值得注意的是,代理类和被代理类应该共同实现一个接口,或者是共同继承某个类. 静态代理 代理类需要自己编写代码写成. 动态代理 Proxy loader 自然是类加载器 interfaces 代码要用来代理的接口 h 一个 InvocationHandler 对象 InvocationHandler 内部只是一个 invoke() 方…
--------------------------------------------day1------------------------------------------------- 1.为什么要使用数据库 2.什么是数据库 3.数据库的三层结构  https://www.cnblogs.com/wangjian920110/p/5454969.html4.主流数据库微软:SqlServer和access(小巧.免费.数据量不大)Mysql(开源)轻量级数据库Ibm:db2(海量数据…
记录自己在 cmd 中执行 jar 文件遇到的一些错误 场景: 请求接口,解析接口返回的 JSON 字符串并插入到我们的数据库里面. 情况: 项目在 eclipse 中正常运行,打成 jar 包后在 cmd 命令窗口报错. 错误信息如下: Microsoft Windows [版本 10.0.17134.407] (c) 2018 Microsoft Corporation.保留所有权利. C:\Users\Administrator>cd Desktop C:\Users\Administra…
使用Android Studio一段时间了,还有很多小技巧没有掌握.比如:平常将字符串整理到string.xml中,都是手动的去复制字符串到string.xml中,然后再回来修改引用该字符串的代码,这样很low.今天发现了一个小技巧可以轻松整理字符串到string.xml中,在这里分享出来. 1.在布局文件中写的字符串,整理到string.xml中 1.如下面的布局文件,一般写布局文件的时候都是直接把字符串写到里面,之后再整理到string.xml中: <TextView android:lay…
Tomcat在windows服务器下,将tomcat控制台日志记录到日志文件中 在Linux系统中,Tomcat 启动后默认将很多信息都写入到 catalina.out 文件中,我们可以通过tail  -f  catalina.out 来跟踪Tomcat 和相关应用运行的情况. 在windows下,我们使用startup.bat启动Tomcat以后,会发现catalina日志与Linux记录的内容有很大区别,大多信息只输出到屏幕而没有记录到catalina.out里面. 本文的内容就是要实现在w…
说实话,对正则表达式有些许的畏惧感,之前的每次只要碰到需要正则表达式去匹配的情况,都会刻意的躲过或者直接从度娘处获取. 此时此刻,感觉到了某一个特定的点去触及她.但笔者对于正则表达式使用上的理解是这样的,仅仅对她的发展历史和使用语法粗略的过了一遍,接下来就是一次一次的使用和记录下和她的每次邂逅.慢慢的,就能在心里勾勒出她最美的一面. 本篇仅记录正则表达式在js中的邂逅经历,如有读者想在其中窥探她的某种语法,直接搜索你想要实现的功能即可,例如[特定字符 多次匹配]之类的即可. 1.特定字符 全部匹…
原文:零元学Expression Blend 4 - Chapter 41 Flash做的到的Blend也可以!轻松制作拥有动画的MenuBar!(中) 我们接着进行动画MenuBar的制作 接续着上一篇的范例,要使文字的位置在MouseOver也有变化 ? ? 我们接着进行动画MenuBar的制作 ? ? 01 接续着上一篇的范例,要使文字的位置在MouseOver也有变化 ? 回到Template编辑模式->MouseOver->ContentPresenter 使用Translate X…
一.PATHINFO功能简述 搞PHP的都知道ThinkPHP是一个免费开源的轻量级PHP框架,虽说轻量但它的功能却很强大.这也是我接触学习的第一个框架.TP框架中的URL默认模式即是PathInfo模式.这个模式很强大,每当你访问一个网站必然带有一长串参数,但是太长又显得不太友好.对于访问一个以MVC模式搭建的网站,必然带有M.C.A三个参数即module.controller.action,这些参数需要还需要用&符号隔开,假若参数量很多,就显得特别的不友好啦.然而PathInfo模式功能就是…
如何设置Win7系统中的上帝模式GodMode(转载) NT6系统中隐藏了一个秘密的“GodMode”,字面上译为“上帝模式”.God Mode其实就是一个简单的文件夹窗口,但包含了几乎所有系统的设置,如控制面板的功能.界面个性化.辅助功能选项...方方面面的控制设置,用户只需通过这一个窗口就能实现所有的操控,而不必再去为调整一个小小的系统设置细想半天究竟该在什么地方去打开设置窗口.怎么样?GodMode,之前大家是闻所未闻吧?   现象描述 Windows 7系统中隐藏了一个秘密的“God M…
最近在使用wso2ESB,记录一下使用过程中碰到的坑,先写一篇调试的(前面的工具安装就不介绍了,既然想用调试了说明你已经看过一部分文档了),以后可能会介绍其他功能的使用. 在wso2 ei的文档中,介绍了用调试模式启动integrator.bat的方式,但是这种方式在开发环境下,不能快速部署(也就是说修改之后不能马上生效,需要打包c-app文件上传) 一.环境 wso2 EI 6.1.1 带wso2插件功能的eclipse 二.用eclipse以调试模式启动wso2 EI服务器 1.先配置好调试…
InnoDB中锁的模式   Ⅰ.总览 S行级共享锁lock in share mode X行级排它锁增删改 IS意向共享锁 IX意向排他锁 AI自增锁 Ⅱ.锁之间的兼容性 兼 X IX S IS X × × × × IX × √ × √ S × × √ √ IS × √ √ √ 2.1 意向锁 意向锁揭示了下一层级请求的锁类型,意向锁全兼容 IS:事务想要获得一张表中某几行的共享锁 IX:事务想要获得一张表中某几行的排它锁 InnoDB存储引擎中意向锁都是表锁,是不是读下来很懵逼? 如果没有意向…
1. Opengl中的渲染模式有三种:(1)渲染模式,默认的模式:(2)选择模式, (3)反馈模式.如下 GLint glRenderMode(GLenum mode) mode可以选取以下三种模式之一:绘制模式(GL_RENDER),选择模式(GL_SELECT),反馈模式(GL_FEEDBACK). 函数的返回值可以确定选择模式下的命中次数或反馈模式下的图元数量. 2. OpenGL进行图形编程的时候,通常要用鼠标进行交互操作,比如用鼠标点选择画面中的物体,我们称之为拾取(Picking).…
在上一篇博文中我们提到异步请求是从上层开始,一层一层转发到最下面的服务层的对象win_iocp_socket_service,由它将请求转发到操作系统(调用windows api),操作系统处理完异步请求之后又是如何返回给应用程序的呢,这里是通过iocp(完成端口)来实现的.让我们先来简要的看看iocp的基本步骤: 创建IOCP对象: 创建io object对象: 将io object IOCP对象绑定: 4.进行异步调用: 创建线程或者由线程池等待完成事件的到来: asio实际上也是按照这个步…
1.概述 首先需要声明的是设计模式和使用的框架以及语言是无关的,关键是要理解设计模式背后的原则,这样才能不管你用的是什么技术,都能够在实践中实现相应的设计模式. 按照最初提出者的介绍,Repository 是衔接数据映射层和领域层之间的一个纽带,作用相当于一个在内存中的域对象集合.客户端对象把查询的一些实体进行组合,并把它 们提交给 Repository.对象能够从 Repository 中移除或者添加,就好比这些对象在一个 Collection 对象上进行数据操作,同时映射层的代码会对应的从数…
C# 动态生成word文档 本文以一个简单的小例子,简述利用C#语言开发word表格相关的知识,仅供学习分享使用,如有不足之处,还请指正. 在工程中引用word的动态库 在项目中,点击项目名称右键-->管理NuGet程序包,打开NuGet包管理器窗口,进行搜索下载即可,如下图所示: 涉及知识点 _Application: 表示word应用程序的接口,对应的实现类是Application类. _Document:表示一个word文档,通过_Application对应的文档接口进行创建. Parag…
在前段时间呢陆陆续续的更新了一系列关于重构的文章.在重构我们既有的代码时,往往会用到设计模式.在之前重构系列的博客中,我们在重构时用到了“工厂模式”.“策略模式”.“状态模式”等.当然在重构时,有的地方没有点明使用的是那种设计模式.从今天开始,我们就围绕着设计模式这个主题来讨论一下我们常用的设计模式,当然“GoF”的23种设计模式不会全部涉及到,会介绍一些常见的设计模式.在接下来我们要分享的设计模式这个系列博客中,还是以Swift语言为主来实现每种设计模式的Demo.并且仍然会在GitHub上进…
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-using-the-repository-pattern-in-mvc/ 系列目录: Relationship in Entity Framework Using Code First Approach With Fluent API[[使用EF Code-First方式和Fluent API来探讨EF中的关系]] Code First Migrations with Entity…
在qt中,使用Singleton模式时一定要小心.因为Singleton模式中使用的是静态对象,静态对象是直到程序结束才被释放的,然而,一旦把该静态对象纳入了Qt的父子对象体系,就会导致不明确的行为.并且,就算我们小心谨慎的不把父对象指针传入构造函数(即不给该静态对象制定父对象),根据Qt的某些机制,还是有可能重定义父对象的,而这恰恰是最致命的,最容易疏忽的. 所以说,在QT中使用Singleton模式,确切说是"静态对象",一定要小心,特别是那些继承于QWidget的嵌套窗口类,就算…
转载自:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0425/2782.html 英文原文:Introduction to Model-View-Presenter on Android 转载此译文需注明出处: http://jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0425/2782.html 这是一篇观点比较激进的文章,完全否定了MVC模式在安卓开发的中的意义,认为…
我个人更喜欢把委托(Delegate)模式称为代理(Proxy)模式.还是那句话,第一次接触代理模式是在Java中接触的,在Java中实现代理模式和接口是少不了的.当时学习Spring的时候用到了接口回调,其实就是实现的委托代理模式.简单的说代理就是把相应的功能交给实现接口的相应的类中来解决.在OC中没有接口该如何实现代理呢?前面的博客中笔者说提了一句,在OC中的协议和Java中的接口极为相似,都是只声明方法而不去实现,方法的实现在OC中交个遵循协议的类,而在Java中方法的实现交给实现接口的类…
1,其实有时候一直在找借口不去思考这个问题,总是以赶项目为由,没有很认真的思考这个问题,为什么我们要在项目中使用MVP模式,自己也用MVP也已经做了两个项目,而且在网上也看了不少的文章,但是感觉在高层次的思想上还是没有去理解它,都是泛泛而谈的"解耦"."扩展"的字眼,作为一个初中级开发者,我需要的是在实际开发场景中去一一对比一下,让开发者通过比较出来的优点来选择MVP模式,那么下面就带着大家来简单的分析分析. 2,现在有这样的一个需求场景,用户点击按钮从网络上获取数…
CQRS架构,C端的职责是处理从上层发送过来的command.对于单台机器来说,我们如何尽快的处理command呢?本文想通过不断提问和回答的方式,把我的思考写出来. 首先,我们最容易想到的是使用多线程.那当我们要处理一个command时,能直接丢到线程池中,直接交给线程池去调度吗?不行.因为假如多个command修改同一个聚合根时,会导致db的并发冲突,从而会导致command的不断重试,大大降低了command的处理速度. 那该怎么解决呢?既然直接多线程处理会有并发冲突的问题,那就对comm…
在开始介绍angular原理之前,我们有必要先了解下mvvm模式在angular中运用.虽然在angular社区一直将angular统称为前端MVC框架,同时angular团队也称它为MVW(Whatever)框架,但angular框架整体上更接近MVVM模式.下面是Igor Minar发布在Google+ https://plus.google.com/+IgorMinar/posts/DRUAkZmXjNV的文章内容: MVC vs MVVM vs MVP. What a controver…
以下是生活中对于MVC模式的领悟,虽然可笑,轻喷. 2015年 8月 26日 M  => Model       模型 我认为叫做模具更好的理解.批量加工生产具有相同特征的东西.        V   => View         显示. C   => Control    控制模型用的.就好比模具师傅吧,统筹调控所有的模具,最后把模具里所生产的产品组合起来,显示到View里面就成了我们的一个产品. 有趣的是,前几天去世界著名美食品牌连锁店——兰州拉面吃饭的时候.看到牛肉拉面.羊肉拉面…
1.首先创建一个空的MVC3应用程序,命名为MyRepository.Web,解决方案命名为MyRepository. 2.添加一个类库项目,命名为MyRepository.DAL,添加一个文件夹命名为Repository来存放业务逻辑. 3.继续添加一个类库项目,命名为MyRepository.Domain,添加两个文件夹Models和Infrastructure. Models来存放实体,Infrastructure来存放几个基本的类.现在目录结构已经搭建好了. 4.用NuGet确保三个项目…
理解javascript中的策略模式 策略模式的定义是:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换. 使用策略模式的优点如下: 优点:1. 策略模式利用组合,委托等技术和思想,有效的避免很多if条件语句. 2. 策略模式提供了开放-封闭原则,使代码更容易理解和扩展. 3. 策略模式中的代码可以复用. 一:使用策略模式计算奖金: 下面的demo是我在书上看到的,但是没有关系,我们只是来理解下策略模式的使用而已,我们可以使用策略模式来计算奖金问题: 比如公司的年终奖是根据员工的工…
1. 在项目配置文件(\Application\Common\Conf\config.php)中配置URL模式 <?php return array( //URL模式 , ); 2. 在ThinkPHP的URL模式中,REWRITE模式去掉了URL地址中的入口文件index.php,但是需要额外配置Web服务器的重写规则才能正确访问. Apache服务器可以通过开启rewrite模块和分布式配置文件(.htaccess)的支持以实现ThinkPHP中的REWRITE模式.具体步骤如下: 1.打开…
上一篇博文写到模式一:JSP+JavaBean 链接地址:http://wxmimperio.coding.io/?p=155 JSP中两种模式的总结 链接地址:http://wxmimperio.coding.io/?p=207 这篇对模式二:JSP+Servlet+JavaBean,做一个小的总结. 模式二中结合了JSP和Servlet,充分利用了两个技术的原有特点.是最典型的MVC设计模式,将输入.处理.输出分成视图.模型和控制器,各自执行各自的任务.请求会由前面的Servlet接受并处理…
模式二:JSP+Servlet+JavaBean 链接地址:http://wxmimperio.coding.io/?p=189 JSP中两种模式的总结 链接地址:http://wxmimperio.coding.io/?p=207 用户可以使用JavaBean将功能.处理.值.数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面.Servlet.其他JavaBean.applet程序或者应用来使用这些对象.用户可以认为JavaBean提供了一种随时…