资讯月刊下载
[编程语言] Hi,我们再来聊一聊Java的单例吧
1. 前言 单例(Singleton)应该是开发者们最熟悉的设计模式了,并且好像也是最容易实现的——基本上每个开发者都能够随手写出——但是,真的是这样吗? 作为一个Java开发者,也许你觉得自己对单例模式的了解已经足够多了。我并不想危言耸听说一定还有你不知道的——毕竟我自己的了解也的确有限,但究竟你自己了解的程度到底怎样呢?往下看,我们一起来聊聊看~ 2. 什么是单例? 单例对象的类必须保证只有一 ...
[操作系统] 嵌入式系统开发:驱动程序设计的5个窍门
在嵌入式系统的开发中,驱动程序的设计和实施是一个关键组成部分,是满足系统实时性需求的关键。本文由资深嵌入式软件开发专家Jacob Beningo撰写,总结了设计驱动程序开发者应该掌握的五个技巧。 每一个嵌入式应用软件都会在某些时候访问最底层的固件和进行一些硬件控制。 驱动的设计和实施是确保一个系统能够满足其实时性要求的关键。以下五个窍门是每一个开发者在设计驱动程序时应该考虑的。 1 使用设计模式 ...
[编程语言] 设计模式 之 解释器模式
好多的 加法运算 ,没有发现 加括号的 的加减乘除的 解释器,参考了 别人的 算法,写了 这个 ,只能说别人的算法好,,,, 算法地址:http://blog.sina.com.cn/s/blog_6759f4610100j2qt.html package 设计模式.解释器模式; import java.util.HashMap; import java.util.Map ...
[Web前端] 两大设计模式 塑造高可读性的网页布局
【编者按】网页设计中,视觉层级的组织十分重要,它可帮助用户快速抓取所需关键内容,获得愉悦体验。目光追踪定位技术可帮助实现这一点,其可帮助设计师更好地懂得如何设计既高效又有审美趣味的网站。Jerry Cao在Webdesigner Depot上发表了《How Eye Scanning Impacts Visual Hierarchy In UX Design》一文,详细介绍了F-模式、Z-模式,并分析 ...
[Web前端] 从V8 JS引擎学到的优化经验
V8是谷歌开源的一个高性能JavaScript引擎,用 C++ 实现,并用在谷歌的开源浏览器Chrome里。 为什么V8非常快,哪种方案让V8达到这种速度?发现其中秘密是一件有趣的事情。 面向对象、设计模式与性能 有些C/C++开发者有些奇怪的观念。他们认为使用面向对象和设计模式会降低程序的性能。但V8证明了这种观念是错误的。V8的实现使用了许多设计模式,但依然非常高效。 下面列出V8中使用 ...
[编程语言] JavaScript高手的资源装备
去年我写了篇文章,推荐一些JavaScript进阶学习的资源。互联网世界在这一年时间里发生了翻天覆地的变化,我想现在是个更新资料的好时机。JavaScript在过去的一年不断发展,不仅仅是浏览器中JS的应用,在服务器端也有了JS的身影。所以现在让我们来更新一下这份资源清单吧。 书籍 随着JS的普及,大家能获取到的JS书籍实在太多了,但是在我看来只有很少一部分JS书籍可以提供够新够有意思的内 ...
[编程语言] 从把3000行代码重构成15行代码谈起
如果你认为这是一个标题党,那么我真诚的恳请你耐心的把文章的第一部分读完,然后再下结论。如果你认为能够戳中您的G点,那么请随手点个赞。 把三千行代码重构为15行 那年我刚毕业,进了现在这个公司。公司是搞数据中心环境监控的,里面充斥着嵌入式、精密空调、总线、RFID的概念,我一个都不懂。还好,公司之前用Delphi写的老客户端因为太慢,然后就搞了个Webform的替代,恰好我对Asp.Net还算了解 ...
[非技术] 软件架构师应具备的十大特点
如果有人问你,作为一个软件架构师需要哪些特质的话,你会怎么回答?从技术层面上讲,架构师的技术要求是首位的。除此之外在做人处事方面,更有魅力的架构师则更受欢迎。 最近有个同事问我,是什么成就了一个架构师。下文就是我的回答,适用于各个技术领域。其中我故意不考虑企业架构相关的问题。 1、了解相关领域的技术知识 在你想要成为架构师的相关技术领域,必须具备扎实的专业知识和过人的本领。 2、超强的分析 ...
[编程语言] Java 程序员应该了解的 10 个面向对象设计原则
面向对象设计原则是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton、Decorator、Observer这样的设计模式,而不重视面向对象的分析和设计。甚至还有经验丰富的Java程序员没有听说过OOPS和SOLID设计原则,他们根本不知道设计原则的好处,也不知道如何依照这些原则来进行编程。 ...