摘要:
设计原则:什么样的情况下需要引入父类?目录背景为什么引入了两个父类(Base2和Base3)?为了复用实现为了引入抽象如何复用B和C之间重复的代码?备注背景返回目录什么样的情况下需要引入父类?这就是今天的话题,也是对昨天的文章(设计原则:不要为了复用而使用继承)的一个补充。让我们站在抽象的角度思考这个问题,下面两幅图片是我们讨论的上下文。设计1设计2为什么引入了两个父类(Base2和Base3)?返回目录为了复用实现返回目录面对这个问题,我可能给出的一种回答是:A和B为了复用方法(行为)或数据(状态),如果我接受这个答案,那么如何应对“B和C之间的复用”,很多语言都是单实现继承的,这说明复用实 阅读全文
posted @ 2013-08-25 15:58
HackerVirus
阅读(297)
评论(0)
推荐(0)
摘要:
MVC4中使用SignalR前言 周末在偶尔翻阅微软官网的时候看到Getting Started with SignalR and MVC 4此篇文章,知道了signalr这个东西,貌似这个出来很长时间了,奈何自己一直没有发现,不妨写篇文章敲一下代码记录这个东西。 ASP .NET SignalR是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信。什么是实时通信的Web呢?就是让客户端(Web页面)和服务器端可以互相通知消息及调用方法,当然这是实时操作的。WebSockets是HTML5提供的新的API,可以在Web网页与服务器端间建立Socket连接,当.. 阅读全文
posted @ 2013-08-25 15:53
HackerVirus
阅读(422)
评论(0)
推荐(2)
摘要:
SQL SERVER 作业浅析作业介绍 SQL SERVER的作业是一系列由SQL SERVER代理按顺序执行的指定操作。作业可以执行一系列活动,包括运行Transact-SQL脚本、命令行应用程序、Microsoft ActiveX脚本、Integration Services 包、Analysis Services 命令和查询或复制任务。作业可以运行重复任务或那些可计划的任务,它们可以通过生成警报来自动通知用户作业状态,从而极大地简化了 SQL Server 管理[参见MSDN]。 创建作业、删除作业、查看作业历史记录....等所有操作都可以通过SSMS管理工具GUI界面操作,有时候也确实 阅读全文
posted @ 2013-08-25 15:51
HackerVirus
阅读(229)
评论(0)
推荐(0)
摘要:
让我们开启数据库无Linq、零sql时代让我们开启数据库无Linq、零sql时代Moon.Orm 5.0总论第一部分MQL1、MQL预览publicstaticvoidMain(string[] args) {using(SqlServer db=newSqlServer(@"Server=QSC-E15014A6665\SQLEXPRESS;Database=Test;uid=sa;Password=123456;")){ db.TransactionEnabled=true; db.DebugEnabled=true; Class c=newClass(); c.Cla 阅读全文
posted @ 2013-08-25 15:42
HackerVirus
阅读(201)
评论(0)
推荐(0)
摘要:
垃圾搜集器简介引言 上一章我们已经探讨过GC的各个算法,那么垃圾搜集器是什么呢? 通俗的讲,使用编程语言将算法实现出来,产生的程序就是垃圾搜集器了。既然谈到了编程语言的实现,那么在讨论垃圾搜集器的时候,就已经涉及到具体的虚拟机实现了。 或许有不少做JAVA开发的猿友还不知道,我们平时使用的JDK中,默认的JVM是hotspot,换句话说,我们大部分时候使用的JVM都是hotspot的实现版本,因此,本次LZ讨论垃圾搜集器都是基于hotspot版JVM来进行的,请各位猿友要知晓这一点。 更直观的,我们可以在我们平时开发的机子上,输入java -version来查看JVM的... 阅读全文
posted @ 2013-08-25 15:35
HackerVirus
阅读(199)
评论(0)
推荐(0)
摘要:
JSON数据解析在之前的《iOS学习——xml数据解析(九)》介绍了xml数据解析,这一篇简单介绍一下Json数据解析。JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与客户端的交互,Json语法参考。关于在iOS平台上进行JSON解析,已经有很多第三方的开源项目,比如TouchJson,JSONKit,SBJon等,自从iOS5.0以后,苹果SDK推出了自带的JSON解决方案NSJSONSerialization,这是一个非常好用的JSON生成和解析工具,效率也是比其他第三方开源项目的高很多,详情可看下图。图片详情可查看NSJ 阅读全文
posted @ 2013-08-25 15:33
HackerVirus
阅读(322)
评论(0)
推荐(0)
摘要:
重温数据结构——图的遍历重温数据结构——图的遍历 首先,我很想说的是,最近这两天寝室里的蚊子,有点多,有点犀利~每天早上起来都要被叮上几个包,有点苦逼。 另外今天还玩了几把dota2,感觉画面质量是很不错的,但是,手感和dota不一样,而且我的笔记本配置很一般~ 接下来讲今天看的数据结构——图~ 我上个学期在上海泰瑞达的春季招聘中曾被考过这类问题。前面有一题是多态和另外一个名词的解释,有点记不清了。然后还有一道题考的是括号解析,这个很简单的,用栈就能直接处理。然后后面就是连续的两个图的问题。之前好像只是简单的看了看源代码,对于什么是深度优先遍历和广度优先遍历稍微有点认识吧。结果自然是可想而知, 阅读全文
posted @ 2013-08-25 15:30
HackerVirus
阅读(240)
评论(0)
推荐(0)
摘要:
gcc编译器优化给我们带来的麻烦???今天看到一个很有趣的程序,如下:?123456789intmain(){constinta = 1;int*b = (int*)&a;*b = 21;printf("%d, %d", a, *b);return0;}当我第一眼看到这个程序的时候,我想当然的认为输出结果是21, 21,但是我错了一时很难理解,于是我又输出了它们的地址:?intmain(){constinta = 1;int*b = (int*)&a;*b = 21;printf("%d, %d", a, *b);printf(" 阅读全文
posted @ 2013-08-25 15:16
HackerVirus
阅读(1949)
评论(4)
推荐(2)
摘要:
如何安装ArchLinux本文基于ArchLinux(https://www.archlinux.org/)Current Release: 2013.08.01的ISO写的安装教程!ISO下载地址:http://mirrors.163.com/archlinux/iso/2013.08.01/archlinux-2013.08.01-dual.iso1、分区cfdisk·新手可以不用分区,如果需要分多个区,建议一个 / 一个/home,如果内存大,不需要swap分区。使用cfdisk分区比较直观。·注意【Bootable】,/ 分区一定要Bootable,如果你单独划分了 阅读全文
posted @ 2013-08-25 15:11
HackerVirus
阅读(220)
评论(0)
推荐(0)
摘要:
状态模式在介绍状态模式之前,我们先来看这样一个实例:你公司力排万难终于获得某个酒店的系统开发项目,并且最终落到了你的头上。下图是他们系统的主要工作(够简单)。 当你第一眼看到这个系统的时候你就看出来了这是一个状态图,每个框框都代表了房间的状态,箭头表示房间状态的转换。分析如下:房间有三个状态:空闲、已预订、已入住,状态与状态之间可以根据客户的动作来进行转换。定义每个状态的值。public static final int FREEMTIME_STATE = 0; //空闲状态 public static final int BOOKED_STATE = 1; //已预订状态 ... 阅读全文
posted @ 2013-08-25 15:02
HackerVirus
阅读(245)
评论(0)
推荐(0)