集合是.NET FCL(Framework Class Library)的重要组成部分,我们平常撸C#代码时免不了和集合打交道,FCL提供了丰富易用的集合类型,给我们撸码提供了极大的便利。正是因为这种与生俱来的便利性,使得我们对集合既熟...
阅读(12) 评论(0)
缓存是现在系统中必不可少的模块,并且已经成为了高并发高性能架构的一个关键组件。这篇博客我们来分析一下使用缓存的正确姿势。 缓存能解决的问题 提升性能 绝大多数情况下,select 是出现性能问题最大的地方。一方面,select 会有很...
阅读(15) 评论(0)
模块化原则倡导利用集中和分解等手法创建高内聚、低耦合的抽象。 为了理解模块化的含义及其很重要的原因,来看看一本书的极端情况。假设一本书像讲一个长故事一样阐述其中的内容,中间没有任何停顿,也没有章节。试问面对这样的图书,读者将作何反...
阅读(21) 评论(0)
$(window).load(function () { //给每张图片添加标题,div.cnblogs_post_body是博客主体 $("div[id=cnblogs_...
阅读(22) 评论(0)
$(window).load(function () { //给每张图片添加标题,div.cnblogs_post_body是博客主体 $("div[id=cnblogs_...
阅读(26) 评论(0)
$(window).load(function () { //给每张图片添加标题,div.cnblogs_post_body是博客主体 $("div[id=cnblogs_...
阅读(17) 评论(0)
喜欢天黑却怕鬼 扎的越深,浮的越高。 博客园 首页 新随笔 联系 订阅 --> 管理 随笔...
阅读(25) 评论(0)
喜欢天黑却怕鬼 扎的越深,浮的越高。 博客园 首页 新随笔 联系 订阅 --> 管理 随笔...
阅读(34) 评论(0)
[toc] 未利用封装 客户代码使用显式类型检查(使用一系列if-else或switch语句检查对象的类型),而不利用出层次结构内已封装的类型变化时,将导致这种坏味。 为什么要利用封装? 一种臭名昭著的坏味是,在客户代码中使用条件语句...
阅读(21) 评论(0)
[toc] 缺失封装 没有将实现变化封装在抽象和层次结构中时,将导致这种坏味。 表现形式通常如下: 客户程序与其需要的服务变种紧密耦合,每当需要支持新变种或修改既有变种时,都将影响客户程序。 每当需要在层次结构中支持新变种时,都添加...
阅读(13) 评论(0)
[toc] 泄露的封装 抽象通过公有接口(方法)暴露或泄露实现细节时,将导致这种坏味。需要注意的是,即使抽象不存在“不充分的封装”坏味,其公有接口也有可能泄露实现细节。 为什么不能泄露封装? 为实现有效封装,必须将抽象的接口(即抽象的...
阅读(17) 评论(0)
封装原则倡导通过隐藏抽象的实现细节和隐藏变化等来实现关注点分离和信息隐藏。 以汽车为例,我们并不需要了解发动机的原理就可以开车。这准确描绘了封装原则的作用:用户无需知道抽象(汽车)的细节,此外,封装原则还让抽象能够隐藏实现细节的变化...
阅读(43) 评论(0)
[TOC] 二叉查找树定义 每棵子树头节点的值都比各自左子树上所有节点值要大,也都比各自右子树上所有节点值要小。 二叉查找树的中序遍历序列一定是从小到大排列的。 二叉查找树节点定义 /// <summary> /// 二...
阅读(19) 评论(0)
[TOC] 扯一扯 昨天在看《极客时间》严嘉伟老师的《如何做出好的职业选择——认识你的职业锚》专题直播时,严老师讲到了关于选择的一些问题,我认为其中的一些点非常讲的非常好,总结一下分享给大家。 人为什么难做选择? 选择意味着放弃 你...
阅读(130) 评论(0)
[toc] 开头说点题外话,在帅张星球上看到一个提问(下图),觉得帅张回答的很中肯很在理。论一个男生上进心的重要性,不上进找不到女朋友啊,当然了不要以为上进了就能找到女朋友!管他什么女朋友,我的心里只有学习!继续我们的数据结构学习之旅,...
阅读(28) 评论(0)
1 2 下一页共2页  到第