浅谈专题提供浅谈的最新资讯内容,帮你更好的了解浅谈。
前言:设计模式其实是一个很空洞的东西,设计模式有几十种,有些人觉得工厂模式也单例模式已经足够解决大部分问题。而有些人觉得任何设计模式都会让开发变得更“复杂”,更“低效”。所以千万不要太过追求他的实际意义和作用,否则你已经坠入云雾。但是不管怎么样,实际工作中还是要对它们有所了解,下面从php的角度来讲一下依赖注入、控制反转、反射等概念。如有错误之处,还望路过大神多加指点 首先设定场景,假如一个类需要
大家都知道UML的类图中一般包含五种关系即  关联 聚合 组合 泛化 依赖  有些人可能会感觉组合跟聚合有点难区分 说难其实是相对其他几种关系而言 实际上想分清这两种关系一点也不难  聚合跟组合其实都属于关联 只不过它们是两种特殊的关联 因为本是同根生 所以它们之间难免会有相似之处 下面让我们一起来看一下它们之间有何不同 聚合与组合的概念相信不用我在此赘述大家就已经了解了 下面直接上例子 程老师的
背景 一个高效的软件开发过程对软件开发人员来说是至关重要的,决定着开发是痛苦的挣扎,还是不断进步的喜悦。国人对软件蓝领的不屑,对繁琐冗长的传统开发过程的不耐,使大多数开发人员无所适从。最近兴起的一些软件开发过程相关的技术,提供一些比较高效、实用的软件过程开发方法。其中比较基础、关键的一个技术就是测试驱动开发(Test-Driven Development)。虽然TDD光大于极限编程,但测试驱动开发
大家都知道UML的类图中一般包含五种关系即  关联 聚合 组合 泛化 依赖  有些人可能会感觉组合跟聚合有点难区分 说难其实是相对其他几种关系而言 实际上想分清这两种关系一点也不难  聚合跟组合其实都属于关联 只不过它们是两种特殊的关联 因为本是同根生 所以它们之间难免会有相似之处 下面让我们一起来看一下它们之间有何不同 聚合与组合的概念相信不用我在此赘述大家就已经了解了 下面直接上例子 程老师的
在常用的三层架构中,通常都是通过数据访问层来修改或者查询数据,一般修改和查询使用的是相同的实体。在一些业务逻辑简单的系统中可能没有什么问题,但是随着系统逻辑变得复杂,用户增多,这种设计就会出现一些性能问题。虽然在DB上可以做一些读写分离的设计,但在业务上如果在读写方面混合在一起的话,仍然会出现一些问题。 本文介绍了命令查询职责分离模式(Command Query Responsibility Se
Author: Kevin Lynx Date: 4.4.2011 Contact: kevinlynx at gmail dot com 模块化的程序是怎样的程序?我们可以说一个具有明显物理结构的软件是模块化的,例如带插件的软件,一个完整的软件由若干运行时库共同构建;也可以说一个高度面向对象的库是模块化的,例如图形引擎OGRE;也可以说一些具有明显层次结构的代码是模块化的。 模块化的软件具有很多
ngx_lua 是一个 NGINX 的第三方扩展模块,它能够将 Lua 代码嵌入到 NGINX 中来执行。 UPYUN CDN 大量使用了 NGINX 作为反向代理服务器,其中绝大部分的业务逻辑已经由 Lua 来驱动了。 这个主题之前在 OSC 源创会 2014 北京站 和 SegmentFault D-Day 2015 南京站 有做过简单分享,Slide 在这里:《Using ngx_lua i
本着Lua简单易用的想法来学Lua,没想到这Lua是一点都不简单啊! 众人流传的Lua脚本简单,也只是停留在使用Lua脚本的层面上而已。事实上设计Lua脚本却并非易事,Lua语言设计的原则是小巧,所以甚至很多东西都没有语言层次上的实现,例如数组、类、迭代器这些在大多数语言中很常见的东西,在Lua中都需要通过表和函数的灵活变化组成。当然也提供了很多其它有趣的特性,例如闭包、协程、First-Clas
看了一下《Programming in Lua》里的协程程序的运用,总觉得有点像雾里看花一样,捉不到重点,不知道怎么去运用,但在洗澡时灵光一闪,突然想明白了这不只是使用了Reactor(反应时同步时间分派)模式吗。在这里写篇博客跟大家分享一些拙见。 先贴一下之前看得不怎么懂的源码 function download (host, file) -->协同程序 local c
最近刚进公司不久,学习了脚本语言Lua,今天重新理解了下装饰器,感觉蛮简单的,就是把一个函数的功能稍微修饰下。 1、先看这个简单程序,求几个数的最大值。 local function my_max( ... ) return math.max( ... ) end print(my_max(1,2,3))2、假设输入的值不是村数字的话,这时候应该报错,那该怎么实现呢 local functio
       今天一同学找我帮忙,说要修改一下一网页的内容,当然这里所说的修改是本地修改,于是我便想到了shellwindows这个对象.拿起很久没用的vb写起. 先说一下这个对象怎么加载,点工程------引用,选择microsoft internet controls即可. 下面看代码: Dim w As New ShellWindows Private Sub Form_Load() Me.
      最近一直在想一个特效,如何达到拖一个文件到网页里,浏览器不自动跳转,并且读出这个文件的信息.呵呵,原本想用javascript的,但是想了想,实在是没什么头绪啊,貌似单纯的javascript很难实现浏览器和系统的交互,于是乎我想起了bho这个玩意,以前一直也没怎么重视,不过看来这次要靠他了.       我想大家一直对一些特效很感兴趣,比如网页一打开就会弹出一个广告,或者一点网页上的
今天谈下.NET中的数据绑定表达式。 数据绑定表达式 必须包含在<%#和%>字符之间。格式如下: < tagprefix:tagname  property ='<%# data-binding expression %>'  runat ="server"   /> 或者如下: <%# data-binding expression %> ASP.NET 支持分层数据绑定模型,数据绑定表达式使用
.NET中的数据绑定表达式。 数据绑定表达式 必须包含在<%#和%>字符之间。格式如下: < tagprefix:tagname  property ='<%# data-binding expression %>'  runat ="server"   />   或者如下: <%# data-binding expression %> ASP.NET 支持分层数据绑定模型,数据绑定表达式使用 E
  记得n年前从VB6开始学编程(那时对面向对象没有太深理解), VB里面有个Module-模块,用来放全局公用的函数,过程,常数,自定义结构,全局变量等等。等能用VB做些常用的软件了,开始转C#了,动手写程序的时候,突然觉得不适应,全局变量放哪里呢?(那时候真是有点菜菜),刚开始是用static。static 函数,static 变量,凡是想要全局用的都扔到一个static类里面。(其实全局常量
用TR载入   0187:00401166 FF2570104000    JMP      NEAR [00401070]            //从00401171到了这里.   0187:0040116C 68A0124000      PUSH    DWORD 004012A0            //载入后停在这里   0187:00401171 E8F0FFFFFF      C
重载跟重写,名字很相近,结构看起来也有几分神似,但是它们各自的特点还是很鲜明的,不过总有人经常分不清它们两个。下面我用我粗浅的理解说说他们两个,希望能够帮助大家理解它们各自的特点。 重载跟重写从作用的范围和对象上来说的区别就是——重载是类内部函数(方法)之间的一种关系,而重写则是类与类(父类和子类)之间的一种关系。下面我们一VB.Net为例分析一下 重载: 重载发生于一个类中,通过多个名称相同的方
  .NET是微软最新平台技术,是.netframeworkSDK的一种语言。编译以后生成的可执行文件被称为Assembly,即程序集他分为两个很重要的部分 1    CLR(CommonLanguageRuntime),CLR是公共语言运行时,和Java虚拟机一样也是一个运行时环境,它负责资源管理(内存分配和垃圾收集),并保证应用和底层操作系统之间必要的分离。   在他的上面会有两个东西:一个是
前言 VB的编译有两种方式,一种是P-Code方式,一种是本机代码。P_Code方式是VB 从早期版本保留下来的,也是比较难逆向的一种。而本机代码方式编译的程序已经 和VC很接近了。这里只探讨以本机代码方式编译的程序。由于微软在VB的实现方面 的资料很少,使人觉得VB的逆向比较难。其实掌握一些规律,VB的程序还是很容易 入门的。 这里所提到的知识都是个人的经验,没有什么官方的资料作为依据。所以错误
基础知识:Windows的消息驱动机制     子类化,对于各位高手来说easy到不得了了,不用我说,基本可以绕路了。但是对于一些新手来说确实很陌生的,基本上在网上也没有什么系统的资料。那么,我就趁着有空余的时间,将自己掌握的一些子类化的基本思路,概念介绍给大家。     要说子类化,就必须先简单介绍一下操作系统Windows的工作方式。打个比方吧:     “你和我需要交流,那么一种古老的办法就