0

设计模式之策略者模式

什么是策略者模式? 策略模式是针对一组算法,将每个算法封装到具有公共接口的独立的类中,从而使它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。对算法的包装,是把使用算法的责任和算法本身分割开,委派给不同的对象负责。策略模式通常把一系列的算法包装到一系列的策略类里面。用一句话慨括 ...

snailteam 发布于 2017-10-20 15:45 评论(0)阅读(9)
0

前端设计的BB鸟规则

制定 BB 鸟规则时需遵循的规范: • 只包含不可变的规则,而不是笼统的说明• 总是把规则提炼成最简单的表达• 总是首先说明规则是什么,再说明“如果不这样,那么会如何”• 每个规则必须包含以下词中的一个——总是、永远不要、只有、每一个、不要、要 设计系统的规则列表: • 永远不要给布局的子内容强加内 ...

[守岁] 发布于 2017-10-20 15:28 评论(0)阅读(9)
0

优质代码的十条黄金法则

1.- DRY: Don’t repeat yourself. DRY 是一个最简单的法则,也是最容易被理解的。但它也可能是最难被应用的(因为要做到这样,我们需要在泛型设计上做相当的努力,这并不是一件容易的事)。它意味着,当我们在两个或多个地方的时候发现一些相似的代码的时候,我们需要把他们的共性抽象 ...

丶Tommy 发布于 2017-10-20 14:45 评论(0)阅读(23)
11

代理模式

代理模式的应用很广泛,是我们最常用的设计模式之一,本文对代理模式的使用场景做了一些简单的介绍,希望能够帮助大家对代理模式有进一步的了解 ...

DebugLife 发布于 2017-10-20 08:45 评论(1)阅读(211)
9

2017年末,聊聊现在的三层架构

这几天在知乎看到了许多关于滥用三层的讨论,很多观点都暗指三层架构这东西太Low了。Low吗?其实不然。我们觉得三层Low主要是因为三层太简单了,人们往往不理解三层的思想和目的,滥用三层,加之一些劣质程序员为其加上些自认牛逼的更改搞个五六七八层,代码写得又烂,结果看起来就很Low,于是人们就把锅扣到三 ...

RocketRobin 发布于 2017-10-19 17:49 评论(26)阅读(1849)
0

初学者的总结

进入工作室也有一段时间了,期间也进行过多次授课,使我对c#这门新的编程语言有了一定的理解。 c#是一种纯面向对象的程序设计语言,设计一个程序就是设计一个或多个类,这与之前我所学习的c和c++有些不一样,它们都是通过函数来实验目标,而c#是通过方法来完成的。c#中的方法是在类或结构中定义的,有点类似于 ...

程序猿1号 发布于 2017-10-19 16:29 评论(0)阅读(22)
0

架构师之路-在Dubbo中开发REST风格的远程调用

dubbo支持多种远程调用方式,例如dubbo RPC(二进制序列化 + tcp协议)、http invoker(二进制序列化 + http协议,至少在开源版本没发现对文本序列化的支持)、hessian(二进制序列化 + http协议)、WebServices (文本序列化 + http协议)等等,... ...

开发仔的焦虑 发布于 2017-10-19 15:12 评论(0)阅读(20)
0

设计模式之状态者模式

什么是状态者模式? 每个对象都有其对应的状态,而每个状态又对应一些相应的行为,如果某个对象有多个状态时,那么就会对应很多的行为。那么对这些状态的判断和根据状态完成的行为,就会导致多重条件语句,并且如果添加一种新的状态时,需要更改之前现有的代码。这样的设计显然违背了开闭原则。状态模式正是用来解决这样的 ...

snailteam 发布于 2017-10-19 14:32 评论(0)阅读(13)
3

mybatis的搭建和注入spring的方式

mybatis实际上是一个更多关注sql语句的框架,他的出现是想让开发者更简单的去操作数据库。 与hibernate相比较,hibernate更多的是去sql化,虽然hibernate也可以本地sql执行,hibernate更多的是关注与hql的编写和对象映射的配置, 只要配置完了,hibernat ...

阿宝天天见 发布于 2017-10-19 12:11 评论(2)阅读(257)
1

一句话 道出设计模式

近段时间渐觉自己愚弱,感觉各方面都有些透支。索性去脑补一下设计模式。讲真,之前对此也是一知半解,未曾有太多研究,此番也是做简单了解,参考园里大神做些纪要。于是乎,我又一次发觉其实在日常撸码中已经隐隐约约用到了各种设计模式(你觉得梦想很远,其实你已经在路上了)。比如,数据库连接池用到了单例模式;比如, ...

阿良君 发布于 2017-10-18 22:39 评论(0)阅读(62)
0

Java语言中的面向对象特性

面向对象的基本特征 1.封装性 封装性就是把对象的属性和服务结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节,包含两个含义: ◇ 把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(即对象)。 ◇ 信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成一个边界〔或者说形成一道屏障〕,只保留 ...

SXT明辉 发布于 2017-10-18 17:53 评论(0)阅读(22)
0

设计模式之中介者模式

什么是中介者模式? 在现实生活中,有很多中介者模式的身影,例如QQ游戏平台,聊天室、QQ群、短信平台和房产中介。不论是QQ游戏还是QQ群,它们都是充当一个中间平台,QQ用户可以登录这个中间平台与其他QQ用户进行交流,如果没有这些中间平台,我们如果想与朋友进行聊天的话,可能就需要当面才可以了。电话、短 ...

snailteam 发布于 2017-10-18 15:29 评论(0)阅读(19)
0

微服务架构中API网关的角色

【上海尚学堂的话】:本文主要讲述了Mashape的首席技术执行官Palladino对API网关的详细介绍,以及API网关在微服务中所起的作用,同时介绍了Mashape的一款开源API网关Kong。 API网关提供商Mashape的首席技术执行官Marco Palladino预测,尽管它们在命名方面存 ...

SXT明辉 发布于 2017-10-17 15:22 评论(0)阅读(54)
0

设计模式之观察者模式

什么是观察者模式? 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己的行为。结构:可以看出,在观察者模式的结构图有以下角色: 抽象主题角色(Subject):抽象主题把所有观察者对象的引用保存在一 ...

snailteam 发布于 2017-10-17 15:19 评论(0)阅读(19)
1

为前端而战-搭建统一开发环境

除了nodejs之外,后端技术(php/java等)及环境搭建一直都是大多数web前端开发人员的弱项,而且每当公司里进来一个新的前端开发人员,第一件事情要做的就是搭建开发环境,需要在新的电脑上安装IDE、nodejs、npm以及团队里面需要用到的技术所需要的依赖,一般需要花费一两天时间;另外,如果团 ...

学明 发布于 2017-10-16 18:42 评论(11)阅读(758)
0

设计模式之迭代器模式

什么是迭代器模式? 迭代器是针对集合对象而生的,提供了一种方法顺序访问一个聚合对象(可理解为集合对象)中各个元素,而又无需暴露该对象的内部表示,这样既可以做到不暴露集合的内部结构,又可让外部代码透明地访问集合内部的数据。从上图可以看出,迭代器模式由以下角色组成: 迭代器角色(Iterator):迭代 ...

snailteam 发布于 2017-10-16 16:42 评论(0)阅读(13)
0

设计模式之命令模式

什么是命令模式? 命令模式将一个请求封装为一个对象(即我们创建的Command对象),从而使你可用不同的请求对客户进行参数化; 对请求排队或记录请求日志,以及支持可撤销的操作。 抽象命令(Command):定义命令的接口,声明执行的方法。 具体命令(ConcreteCommand):具体命令,实现要 ...

snailteam 发布于 2017-10-15 21:33 评论(0)阅读(30)
5

分布式跟踪调研与设计

背景 公司业务由数以百计的分布式服务沟通,每一个请求路由过来后,会经过多个业务系统并留下足迹,并产生对各种缓存或者DB的访问,但是这些分散的数据对于问题排查,或者流程优化比较有限。对于一个跨进程的场景,汇总收集并分析海量日志就显得尤为重要。在这种架构下,跨进程的业务流会经过很多个微服务的处理和传递, ...

tylercao 发布于 2017-10-15 20:44 评论(5)阅读(511)
3

基于Elasticsearch搜索平台设计

背景 随着公司业务的高速发展以及数据爆炸式的增长,当前公司各产线都有关于搜索方面的需求,但是以前的搜索服务系统由于架构与业务上的设计,不能很好的满足各个业务线的期望,主要体现下面三个问题: 1. 不能支持对语句级别的搜索,大量业务相关的属性根本无法实现 2. 没有任何搜索相关的指标评价体系 3. 扩 ...

tylercao 发布于 2017-10-15 17:52 评论(3)阅读(304)
0

[解读REST] 5.Web的需求 & 推导REST

衔接上文[解读REST] 4.基于网络应用的架构风格,上文总结了一些适用于基于网络应用的架构风格,以及其评估结果。在前文的基础上,本文介绍一下Web架构的需求,以及在对Web的关键协议进行设计和改进的过程中遇到的问题;以及在对基于网络应用的架构风格进行评估的过程中的领悟;结合Web的需求进而推导出R ...

Blackheart 发布于 2017-10-15 15:44 评论(0)阅读(217)