设计
文章平均质量分 63
后海hh
爱好技术,喜欢专研底层和看流行的开源代码,有一定的代码洁癖,会定时优化重构代码,使其扩展性维护性和性能更好
展开
-
设计模式之桥梁模式
桥梁模式也叫桥接模式,是指将抽象和实现解耦,使得两者可以独立地变化。桥梁模式的重点是在“解耦”上,来看下下面举的例子,看看重构前和用桥梁模式重构后的区别。假如我有两家公司,一家做房地产,一家做山寨IPOD,两家都在帮我赚钱。重构前:原创 2016-03-28 23:28:28 · 428 阅读 · 0 评论 -
系统设计总结
不好的设计的几个特性:僵化性:很难对系统进行改动,因为每个改动都会迫使许多对系统其他部分的改动。脆弱性:对系统的改动会导致系统中和改动的地方在概念上无关的许多地方出现问题。牢固性:很难解开系统的纠结,使之成为一些可在其他系统重用的组件。粘滞性:做正确的事情比做错误的事情要困难。不必要的复杂性:设计中包含有不具任何直接好处的基础结构。不必要的重复:设计中包含有重复的结构,而该重复的结...原创 2018-02-12 10:47:13 · 1661 阅读 · 0 评论 -
互联网架构,如何进行容量设计?
一,需求缘起互联网公司,这样的场景是否似曾相识: 场景一:pm要做一个很大的运营活动,技术老大杀过来,问了两个问题:(1)机器能抗住么?(2)如果扛不住,需要加多少台机器? 场景二:系统设计阶段,技术老大杀过来,又问了两个问题:(1)数据库需要分库么?(2)如果需要分库,需要分几个库? 技术上来说,这些都是系统转载 2016-08-24 12:09:18 · 702 阅读 · 0 评论 -
消息队列设计
消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发的Notify、MetaQ、RocketMQ等。本文不会一一介绍这些消息队列的所有特性,而是探讨一下自主开发设计一个消息队列时,你转载 2016-07-09 18:24:09 · 465 阅读 · 0 评论 -
mysql数据库引擎MyISAM和InnoDB的比较和使用场合
数据库中数据管理的一种方式,MySQL支持插入式的存储引擎,也就是说你同一数据库中的数据表可以选择不同存储引擎查看mysql版本mysql> select version();+-----------+| version() |+-----------+| 5.5.25a |+-----------+1 row in set查看mysql引擎mysq转载 2016-07-16 18:14:50 · 913 阅读 · 0 评论 -
设计模式之观察者模式
观察者模式也叫发布订阅模式,其定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。通用UML类图:- Subject被观察者,定义被观察者必须实现的职责,它必须能够动态地增加、取消观察者。- Observer观察者,观察者接收到消息后,即进行update(更新方法)操作,对接收到的信息进行处理。- Concreat原创 2016-03-28 20:11:11 · 335 阅读 · 0 评论 -
设计模式之组合模式Composite
组合模式也叫合成模式,有时又叫部分-整体模式,主要是用来描述部分与整体的关系,其定义为:将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。原创 2016-03-28 11:05:51 · 413 阅读 · 0 评论 -
设计模式之中介者模式
中介者模式的定义是指用一个中介对象封装一些列的对象交互,终结者使各对象不需要显示地相互作用,从而使其耦合松散,而且可以独立地改变它们之间的交互。其通用类图如下:从类图上看,中介者模式由以下几组部分组成:- Mediator 抽象中介者角色抽象中介者角色定义统一的接口,用于各同事之间的通信。- ConcreateMediator 具体中介者角色具体中介者角色通原创 2016-03-27 16:11:10 · 400 阅读 · 0 评论 -
设计模式之代理模式
代理模式是一个使用率非常高的模式,其定义是为其他对象提供一种代理以控制对这个对象的访问。代理模式也叫委托模式,它是一项基本设计技巧。许多其他的模式,如状态模式、策略模式、访问者模式本质上都是在更特殊的场合采用了委托模式。一般对于代理模式而言,有三种类型比较常用,分别是普通代理、强制代理和动态代理。下面以一个游戏练级的例子分别讲解:普通代理:它的要求就是客户端只能访问代理角色,而不能原创 2016-04-06 17:53:38 · 387 阅读 · 0 评论 -
设计模式之模板方法模式和策略模式
本文主要讲的是模板模式和策略模式,两者所要解决的问题经常是类似的,而且常常可以互换使用,都可以分离通用的算法和具体的上下文。不过,模板模式使用继承来解决问题,而策略模式使用的则是委托。原创 2016-03-20 21:41:50 · 4513 阅读 · 0 评论 -
设计模式之门面模式Facade
门面模式也叫外观模式,是一种比较常用的封装模式。其定义为,要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。优点:- 减少系统的相互依赖。如果不适用门面模式,外界访问直接深入到子系统内部,相互之间就形成了一种强耦合关系,这样的强依赖是系统设计所不能接受的,门面模式就很好地解决了这个问题;- 提高了灵活性。子系统内部原创 2016-03-22 23:35:22 · 497 阅读 · 0 评论 -
Java异常的设计原则
原文地址:https://www.jianshu.com/p/1e0199e3c34e每个软件都可能遇到异常,所以从设计阶段就要考虑异常处理的问题,纳为业务流程的一部分。异常是需要妥善处理的,但是处理的前提是发现异常,而发现异常的前提的对异常有清楚的认识,我们要先认识到程序中都有什么样的异常(定义异常),然后在程序结构中检测和抛出异常(捕获异常),最后用恰当的业务流程去分别处理(处理异常)...转载 2018-02-23 10:19:51 · 378 阅读 · 0 评论