MQ 区别:面向数据、生产者与消费者、有缓冲节点、异步、系统级/模块级通信 选型:RabbitMQ、ActiveMQ/Apollo、ZeroMQ、memcacheQ、Redis、MSMQ、kafka/jafka 场景: 消息的发送者和消费者需要解耦的情况 发送者并不明确谁是消费者 发送者并不关心谁来...
在软件开发圈,“架构师”是一个受万人追捧的头衔,架构师给人的感觉是站在软件系统后面指点江山的诸葛亮,一个系统的如何运作、运作得如何,架构师都能提前设想出来,重构系统的时候,架构师也能像军师一样作出各种策略,并最终决策,在最低风险和损失的情况下让系统重生。 当架构师的开发就像想当将军的士兵一样,多。不...
领域区域设计的分层架构模型其实是在不断优化和发展的,从最早的传统直肠子式的四层架构模型,逐渐演变成目前以依赖倒置为原则的新的四层架构模型,从而实现了各层对基础设施层的解耦。 DDD中的分层架构很好的应用了关注点分离原则Separation of Concerns(SOC),每一层做好自己的事情,减少...
任何傻瓜都可以写出计算机能懂的代码,但好的程序员可以写出人类能懂的代码—–Martin Fowler 如果你是新手,你可能会问,为什么代码需要设计原则? 我想说的是肯定不是为了故作高深,存在即是合理。 如果写了一个简单的程序,你可能不需要设计原则。 如果你写了一个复杂的,但是之后再也不会改,那么你也...
原文出处: Mark Michaelis 为什么使用依赖关系注入? 使用 .NET,通过 new 运算符(即,new MyService 或任何想要实例化的对象类型)调用构造函数即可轻松实现对象实例化。遗憾的是,此类调用会强制实施客户端(或应用程序)代码到已实例化对象的紧密耦合的连接(硬编码的引用)...
至2002微软公司推出.NET平台已近15年,在互联网快速迭代的浪潮中,许多语言已被淘汰,同时也有更多新的语言涌现,但 .Net 依然坚挺的站在系统开发平台的一线阵营中,并且随着.NET Core 即将到来(2016年6月27日)的正式版,势必迎来新一轮春天。 一 .NET 的 Framework ...
简析 .NET Core 构成体系 Roslyn 编译器 RyuJIT 编译器 CoreCLR & CoreRT CoreFX(.NET Core Libraries) .NET Core 代码开发、部署、运行过程 总结 前文介绍了.NET Core 在整个.NET 平台所处的地位,以及与.NET ...
随着微软的.NET开源的推进,现在在.NET的实现上有了三个.NET Framework,Mono和.NET Core。经常被问起Mono的稳定性怎么样,后续Mono的前景如何,要回答这个问题就需要搞清楚这三个.NET 实现之间的关系和将来如何演进。 到目前为止(2015.2.17),微软在Wind...
锁(locking) 业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算处理中,我们希望针对某个 cut-off 时间点的数据进行处理,而不希望在结算进行过程中(可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机制来保证这些数据在某个操作过程中不会被...
还记得在十多年前,SaaS鼻祖SalesForce喊出的口号『No Software』吗?SalesForce在这个口号声中开创了SaaS行业,并成为当今市值520亿美元的SaaS之王。今天谈谈『No Server』有关的事, 继OpenStack、Docker 、MiscroService、Uni...