刘伟技术博客

专注软件架构、设计模式、重构、UML和OOAD!

排序:
默认
按更新时间
按访问量

十年磨一剑——《Java设计模式》正式出版

        十年磨一剑,《Java设计模式》于2018年3月正式出版,感谢清华大学出版社和各位的大力支持!笔者自认为该书是国内最好的Java设计模式图书之一!,低调!      本书内容丰富,实例完整,主要特点如下:● 内容丰富,详细讲解7个面向对象设计原则和24个常用设计模式● 实例驱动,提...

2018-03-18 17:07:48

阅读数:4940

评论数:16

《C#设计模式(第2版)》来袭——刘伟诚意之作

    《C#设计模式(第2版)》已正式出版,感谢清华大学出版社和各位的大力支持!      出版社: 清华大学出版社      书号:9787302485704            京东链接    当当链接          在新版中增加了不少设计模式练习题和综合模拟题,大家可以好好考查一下对...

2018-03-18 16:51:39

阅读数:1412

评论数:4

历年软件设计师下午考试试题汇总统计(更新至2016年上半年)

本文对2006年5月至2013年5月【8年,15次】的软件设计师级别下午试题进行一个简单的汇总统计,希望对准备参加软考的朋友能有所帮助。     从2006年5月开始(尤其是从2010年5月开始),软件设计师级别的试题题型基本固定:       (1) 第一题为结构化分析与设计,主要考查数据流图D...

2012-05-15 23:34:56

阅读数:32635

评论数:35

软件重构过程中的思维转换: 遗留代码如何变废为宝

“我开始收到各式各样的邮件,人们都表示‘天呐!我也是这样!’。”她说,“我开始去传播这条信息,告诉大家重新建构遗留代码这件事其实非常有价值,凭此来吸引合适的人。”编者注:Andrea Goulet是Corgibytes的首席执行官,她的公司专注于处理、改进并精简企业现有的代码库。        A...

2016-09-15 20:36:02

阅读数:6755

评论数:9

确保对象的唯一性——单例模式 (四)

3.5 一种更好的单例实现方法       饿汉式单例类不能实现延迟加载,不管将来用不用始终占据内存;懒汉式单例类线程安全控制烦琐,而且性能受影响。可见,无论是饿汉式单例还是懒汉式单例都存在这样那样的问题,有没有一种方法,能够将两种单例的缺点都克服,而将两者的优点合二为一呢?答案是:Yes!下面我...

2012-04-02 02:52:08

阅读数:23091

评论数:32

如何培养软件工程人才——参加“第一届高等学校软件工程人才培养高峰论坛”有感

2012年12月8日-9日,第一届高等学校软件工程人才培养高峰论坛在广州召开,Sunny有幸受到主办方(“教育部软件工程专业教学指导分委员会”和“教育部示范性软件学院建设工作办公室”)的邀请,作了一个题为工程型软件人才设计能力的培养与提升——“设计模式”课程教学改革实践的报告。本次论坛由华南理工大...

2012-12-21 22:38:02

阅读数:10258

评论数:12

历年系统架构设计师考试之设计模式试题-2012年

2012年系统架构设计师考试下午试题中出现了一道25分的设计模式大题,上午仍旧是5道选择题,可以说是从2009年开考以来设计模式试题量最多的一年。Sunny友情建议:建议大家先做做这些试题,看是否能够正确解答,如果在解答的同时能够拿出具体的设计和实现方案,我相信一定会受益匪浅!

2014-03-17 22:11:51

阅读数:16416

评论数:8

【Eclipse AST】AST的修改

AST的修改主要包括三个方面的内容:修改节点、移动节点和创建节点。本文将通过一个综合实例来说明如何修改AST,并通过修改AST来修改源代码。

2014-03-07 20:04:19

阅读数:11465

评论数:8

【Eclipse AST】AST的创建

对于源代码优化过程而言,借助前文所介绍的AST访问与解析,可以自动查找出哪些地方需要优化,或者说能够发现优化或重构“时机”。接下来要做的就是采取相应的优化措施,在AST中创建节点(包括创建新的AST)或修改原有节点。本文将介绍如何创建一棵AST,以及通过AST来创建Java源代码。

2014-03-02 23:28:43

阅读数:13078

评论数:5

工厂三兄弟之简单工厂模式(二)

2 简单工厂模式概述       简单工厂模式并不属于GoF 23个经典设计模式,但通常将它作为学习其他工厂模式的基础,它的设计思想很简单,其基本流程如下:       首先将需要创建的各种不同对象(例如各种不同的Chart对象)的相关代码封装到不同的类中,这些类称为具体产品类,而将它们公共的代码...

2013-07-11 14:42:38

阅读数:22166

评论数:21

【Eclipse AST】AST的获取与访问

从本文开始将由浅入深向大家介绍AST的使用。Eclipse中的Eclipse JDT提供了一组访问和操作Java源代码的API,Eclipse AST是其中一个重要组成部分,它提供了AST、ASTParser、ASTNode、ASTVisitor等类,通过这些类可以获取、创建、访问和修改抽象语法树。

2014-02-10 23:47:17

阅读数:23460

评论数:8

【Eclipse AST】AST与ASTView简介

要想自己设计并实现一个代码自动分析、优化和重构工具,得先理解代码;要想理解代码,得先用一个好的数据结构来存储和表示所读取的代码。基于程序代码本身的层次结构,用树状结构来表示是再好不过的了。抽象语法树(Abstract Syntax Tree, AST)使用树状结构来表示源代码的抽象语法结构,树上的...

2014-02-06 22:52:31

阅读数:17773

评论数:10

从研究的角度来思考软件设计模式——研究方向

近期在做一些关于软件设计模式的研究工作,通过广泛的收集与阅读,细致的分析与整理,现将设计模式的几个主要研究方向罗列如下: (1) 设计模式的可视化研究(Visualization)       如何在复杂的系统结构(UML图、源代码等)中将设计模式实例标注出来,包括模式的标注和模式角色的标注。研究...

2012-07-24 21:23:59

阅读数:4263

评论数:0

软件工程研究领域最顶级的两个期刊

本文将向大家介绍软件工程研究领域最顶级(最牛X)的两个期刊,分别是IEEE Transactions on Software Engineering (TSE)和ACM Transactions on Software Engineering Methodology (TOSEM)。TSE和TOS...

2014-02-09 23:12:08

阅读数:24379

评论数:16

六种可定量分析的代码味道

传统的代码味道(Bad Smells in Code)识别主要依赖开发人员的经验,这将导致代码味道识别效率低,且容易漏掉很多代码味道。因此,设计和开发自动化的代码味道识别工具已成为软件工程研究的一个分支。国内外学者已经陆续提出了一些代码味道自动识别方法,其中有一类方法是基于软件度量和统计量的,可以...

2014-02-06 00:22:23

阅读数:13775

评论数:9

七款代码味道识别工具【简介】

代码味道识别工具 (Code Smell Detection Tools, CSDT)既可以应用于软件开发阶段,也可以应用于软件维护阶段。目前大部分IDE都集成了自动或者半自动重构工具,但是根据国外研究人员的调查发现,真正在软件开发和维护中使用这些工具的人并不多,其中有一个很重要的原因是不知道何时...

2014-01-18 23:50:19

阅读数:24681

评论数:1

【Java重构系列】重构31式之封装集合

2009年,Sean Chambers在其博客中发表了31 Days of Refactoring: Useful refactoring techniques you have to know系列文章,每天发布一篇,介绍一种重构手段,连续发文31篇,故得名“重构三十一天:你应该掌握的重构手段”。...

2014-01-10 02:27:18

阅读数:19498

评论数:11

【Java重构系列】重构31式之搬移方法

毋容置疑,搬移方法(Move Method)应该是最常用的重构手段之一,正因为太常用而且较为简单,以至于很多人并不认为它是一种很有价值的重构,但事实并非如此,在最初的代码诞生之后,有些方法可能会被放在一些不合适的地方,例如,一个方法被其他类使用比在它所在的类中的使用还要频繁或者一个方法本身就不应该...

2014-01-11 00:41:34

阅读数:18392

评论数:10

数据可视化:一张图胜过千言万语

本文转自:【云创存储】http://www.cstor.cn/textdetail_5768.html,特此说明!              信息爆炸时代,一组经过精心设计、形象生动的信息图往往要比一篇深度长文章更容易赢得眼球和青睐。在社交媒体上,你会发现,出色的可视化产品很容易就获得海量转发和分...

2014-01-08 22:07:26

阅读数:11046

评论数:3

Sunny谈重构

按照软件工程大神Martin Fowler的定义,重构就是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。这是重构的定义,简单来说就是不改变软件的功能,优化软件设计和代码,让软件更易于扩展和维护,当然也包括易于复用。

2013-12-31 00:51:29

阅读数:9259

评论数:6

提示
确定要删除当前文章?
取消 删除
关闭
关闭