软件设计
-Thinker
这个作者很懒,什么都没留下…
展开
-
亿级Web系统搭建——单机到分布式集群
Web 均衡负载Web负载均衡(Load Balancing),简单地说就是给我们的服务器集群分配“工作任务”,而采用恰当的分配方式,对于保护处于后端的Web服务器来说,非常重要。负载均衡的策略有很多,我们从简单的讲起哈。1. HTTP重定向当用户发来请求的时候,Web服务器通过修改HTTP响应头中的Location标记来返回一个新的url,转载 2016-07-23 10:47:05 · 366 阅读 · 0 评论 -
工厂模式,工厂方法模式,抽象工厂模式 详解
1. 工厂模式1.1 定义简单工厂模式是由一个工厂对象根据收到的消息决定要创建哪一个类的对象实例。1.2 使用场景工厂类负责创建的对象比较少,客户只需要传入工厂类参数,对于如何创建对象(逻辑)不关心。简单工厂模式很容易违反高内聚低耦合的原则,因此一般只在很简单的情况下使用。1.3 例子public interface Shape { public void dra原创 2017-03-09 10:02:25 · 18404 阅读 · 3 评论 -
大话设计模式读书笔记之策略模式
1.找出应用中可能需要变化之处,把他们独立起来,不要和那些不需要变化的代码混在一起。(把会变化的部分取出并"封装"起来,好让其他部分不会受到影响)换句话说,如果每次新的需求一来,都会使某方面的代码发生变化,这部分代码需要被抽出来,和其他稳定的代码有所区分。2.针对接口编程,而不是针对实现编程。针对接口编程真正的意思是针对超类型编程。关键就在于多态。利用多态,程序可以针对超类型编程,执行时会根据原创 2016-07-17 08:02:01 · 388 阅读 · 0 评论 -
设计模式之禅
1.知道OO基础,并不足以让你设计出良好的OO系统。2.良好的OO设计必须具备可复用、可扩充、可维护三个特性。3.模式可以让我们建造出具有良好OO设计质量的系统。4.模式被认为是历经验证的OO设计经验。5.模式不是代码,而是针对设计问题的通用解决方案。你可以把他们应用到特定的应用中。6.模式不是被发明,而是被发现。7.大多数的模式和原则,都着眼于软件变化的主题。8.大多原创 2016-07-30 10:33:22 · 453 阅读 · 0 评论 -
log4j2.xml实用例子
一个多月前,我写了篇关于log4j.xml配置的文章,点击此处查看:http://www.cnblogs.com/guogangj/p/3931397.html最近,我把自己的log4j升级到2.0之后发现之前的配置文件不能用了,于是把旧的配置挪到新的来,挪的过程中遇到了些问题,但一番搜索测试后基本上趋于完美了。转载 2016-08-11 13:57:49 · 1171 阅读 · 0 评论 -
用十年学习编程 / Teach Yourself Programming in Ten Years
“计算机语言(C++、Java等),学起来简单,教起来也简章”。是不是这样?今天浏览互联网,无意看到下面的文章,大家看后可以点评。以下是译文与原文。 用十年学习编程为什么每个人都急不可耐?走进任何一家书店,你会看见《Teach Yourself Java in 7 Days》(7天Java无师自通)的旁边是一长排看不到尽头的类似书籍,它们要教会你Visual Basic、W转载 2016-08-09 10:57:34 · 742 阅读 · 0 评论 -
优秀软件诞生的12个必备技术构成
1.测试驱动开发(TDD)TDD的确是一个及能提高代码质量又可以减少bug的实践练习,而且他还适用于任何类型的项目的开发。但很多开发人员并不知道怎么提高这方面的能力,这就需要好好去学习了。2.验收测试驱动开发(ATDD)这是TDD的升级,但需要专业测试人员和客户携手共同参与到测试中去。3.持续集成(CI)这主要是能让新的代码不会破坏原有的老代码。只要再加上TDD和ATDD一起创转载 2016-08-09 09:13:46 · 320 阅读 · 0 评论 -
Java软件工程师就业思维图(2016年版)
Java软件工程师就业思维图(2016年版)想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,在面试之前到底需要准备哪些东西呢?面试时面试官想了解你的什么专业技能,以下都是一个合格JAVA软件工程师所要具备的。一、专业技能1、熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的Java API,包括集合框架、多线程(并发编程)、I/O(NIO)、Sock转载 2016-08-19 13:23:39 · 633 阅读 · 0 评论 -
从设计到开发,10大不容错过的效率提升工具
工欲善其事必先利其器。好的工具虽不是缔造一位出色的开发者的充分条件,却是必要条件。希望在这篇文章中分享的这些实用性工具可以在优化工作流上帮助到你。AtomAtom是Github推出的一个开源跨平台文本编辑器。几年间Atom都是我的第一选择,它功能齐全,内置包管理工具,有智能提示补全功能(auto-completion),并包含精美的主题。包管理器这个概念像一缕清转载 2016-08-17 09:16:41 · 3504 阅读 · 0 评论 -
将 Web 应用性能提高十倍的10条建议
提高 web 应用的性能从来没有比现在更重要过。网络经济的比重一直在增长;全球经济超过 5% 的价值是在因特网上产生的(数据参见下面的资料)。这个时刻在线的超连接世界意味着用户对其的期望值也处于历史上的最高点。如果你的网站不能及时的响应,或者你的 app 不能无延时的工作,用户会很快的投奔到你的竞争对手那里。举一个例子,一份亚马逊十年前做过的研究可以证明,甚至在那个时候,网页加载时间每减少转载 2016-07-31 09:00:28 · 715 阅读 · 0 评论 -
Java 专业词汇汇总
1.POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造 的简称。2.PO(Persistant Object)持久对象,在o/r映射的时候出现的概念,如果没有o/r映射,没有这个概念存在了。通常 对应数据模型(数据库),本身还有部分业务逻辑的处理。可以看成是与数据库中的表相映射的java对象。最简原创 2016-07-17 09:36:02 · 1401 阅读 · 1 评论 -
Java 8 Null 处理
如何预防 Java 中著名的 NullPointerException 异常?这是每个 Java 初学者迟早会问到的关键问题之一。而且中级和高级程序员也在时时刻刻规避这个错误。其是迄今为止 Java 以及很多其他编程语言中最流行的一种错误。Null 引用的发明者 Tony Hoare 在 2009 年道歉,并称这种错误为他的十亿美元错误。我将其称之为自己的十亿美元错误。它的发明是在转载 2016-07-23 11:27:01 · 398 阅读 · 0 评论 -
Java多线程
本文主要讲了java中多线程的使用方法、线程同步、线程数据传递、线程状态及相应的一些线程函数用法、概述等。转载 2016-07-23 10:51:51 · 244 阅读 · 0 评论 -
软件架构读书笔记
软件架构序要学会去看,然后忘掉要学会去听,然后忘掉要学会去做,然后忘掉要学会超越,我们自己不知不觉地设定了事物之间的界限,并把这些界限、层次与逻辑井然的东西称为“系统”。原创 2017-09-24 09:05:47 · 447 阅读 · 0 评论