设计的七大原则及UML介绍
7大原则:开闭原则,依赖倒置原则,单一职责原则,接口隔离原则, 迪米特法则,里氏代替原则,合成/复用原则
7大原则:开闭原则,依赖倒置原则,单一职责原则,接口隔离原则, 迪米特法则,里氏代替原则,合成/复用原则
Docker最初`dotCloud公司创始人Solomon Hykes在法国期间发起的一个公司内部项目,是云服务技术的一次革新,并于2013年3月以Apache2.0授权协议开源。后来Docker加入Linux基金会,并成立推动开放容器联盟(OCI)
想知道如何设计大型企业级的系统吗?在开始主要的代码开发之前,我们必须选择一种合适的体系架构,它将为我们提供所需的功能和质量属性。因此,在将它们应用到我们的设计之前,应该先了解不同的体系结构。
SpringCloud和AlibabaCloud组件存在很大交集,互相配合; SpringCloud很多组件是基于第三方整合,目前多个已经不更新了,比如`zuul、eureka、hystrix`等
单机架构:优缺点:易于测试 便于集成 小型项目友好;开发速度慢 启动时间长 依赖庞大
在 《精尽 Dubbo 源码分析 —— 服务暴露(一)之本地暴露(Injvm)》 一文中,我们已经分享了本地暴露服务。在本文中,我们来分享远程暴露服务。在 Dubbo 中提供多种协议( Protocol ) 的实现,大体流程一致,本文以 Dubbo Protocol 为例子,这也是 Dubbo 的默认协议。
Dubbo 服务暴露有两种方式:本地暴露,JVM 本地调用。配置如下:<dubbo:service scope="local" />;远程暴露,网络远程通信。
在 《Dubbo 用户指南 —— 线程模型》 一文中,我们可以看到 Dubbo 提供了三种线程池的实现:ThreadPool。fixed 固定大小线程池,启动时建立线程,不关闭,一直持有。(缺省)cached 缓存线程池,空闲一分钟自动删除,需要时重建。limited 可伸缩线程池,但池中的线程数只会增长不会收缩。只增长不收缩的目的是为了避免收缩时突然来了大流量引起的性能问题。
在前一章《设计模式读书笔记-----简单工厂模式》中通过披萨的实例介绍了简单工厂模式。在披萨实例中,如果我想根据地域的不同生产出不同口味的披萨,如纽约口味披萨,芝加哥口味披萨。
在设计原则中有这样一句话“我们应该针对接口编程,而不是正对实现编程”。但是我们还是在一直使用new关键字来创建一个对象,这不就是在针对实现编程么?