面向对象 一、三大特征之继承 python三大特征: 封装、继承、多态 三者中继承最为核心,实际应用多,感受较为直观 封装和多态略微抽象 1、继承的概念 继承的含义: 在现实生活中,继承表示人与人之间资源的从属关系 例如:儿子继承父亲 在编程的世界中,继承表示类与类之间的资源从属关系 ...
一 什么是设计模式 设计模式是一套反复使用的代码设计总结。使用设计模式是为了可重用代码、保证代码可靠性、程序的重用性。熟悉设计模式能更容易看懂框架源码,更好的设计自己的系统。 二 设计模式分类 设计模式分为创建型、结构型和行为型三种模式。 三 设计模式的六大原则 开放封闭原则:尽量通过扩展软件实体来 ...
热度已经过了,但还是觉得有必要从架构设计的角度来讨论一下此事。并用以往我的经验来设计一套负载能力更好一些的系统。 先说一下基本的架构思路: 最大限度的避免计算,静态化 不用数据库,更新类操作使用APPEND模式的文本文件 流程最短,最好是客户端访问的第一台服务器就能完成全部工作 善用CDN 客户端负 ...
一、人狗大战 1、需求 用代码模拟人、狗打架的小游戏 人和狗种类不同,因此双方的属性各不相同 推导一: 人和狗各有不同属性 使用字典方式储存属性较为方便,并可储存多种属性 # 1、在字典内储存‘人’属性 person = { 'name': '阿拉蕾', 'age': 18, 'gender': ' ...
apijson 初探 本文试着用 5W1H 方式切入,试图快速建立自己对 apijson 的整体认知,所以这不是一趟快速入门的 demo 之旅,而是显得比较务虚的探索式知识体系整合过程。 持续更新中... 1、Why 前后端开发过程中各种痛点: 开发流程繁琐、周期长 前端/客户端与后端各种扯皮 文档 ...
单一职责原则 1.1 我是“牛”类,我可以担任多职吗 单一职责原则,英文名称是Single Responsibility Principle,简称是SRP,定义是应该有且仅有一个原因引起类的变更。 什么是类的职责,以及怎么划分类的职责? 举例:rbac模型 这个接口设计的存在问题:用户属性和用户行为 ...
为了提高系统吞吐率,也就是提高生产效率,核心观点如下,系统设计也是如此 在微服务或任何其他基于事件的架构(event-driven-architecture)中,在一些用例中,一个服务可能需要我们对他们自己的本地数据库进行修改,同时发布一个事件。然后,该事件会被其他服务所消费。为了拥有一个一致的软件 ...
不论是开发人员还是架构师,我们都一直在跟软件系统打交道,架构是在工作中出现最频繁的术语之一。那么,到底什么是架构?你可能有自己的答案,也有可能没有答案。对“架构”的理解需要我们不断在实践中思考、归纳、演绎,形成自己的认知。 1 到底什么是软件架构 ? 定义 ”架构是什么“ 是件非常困难的事情,不同的 ...
一、背景 随着用户的增长和业务的增多,单节点服务已经满足不了需求,用hyperf对主业务进行了重构。 hyperf是一个后现代的php框架,基于php+swoole,支持协程,解决了php让人诟病的性能问题和多线程支持不够的问题。官方也提供了各种组件,比如 配置中心、定时任务、消息队列和微服务,对于 ...
什么是分布式锁?对于这个问题,相信很多同学是既熟悉又陌生。随着分布式系统的快速发展与广泛应用,针对共享资源的互斥访问也成为了很多业务必须要面对的需求,这个场景下人们通常会引入分布式锁来解决问题。我们通常会使用怎么样的分布锁服务呢?有开源的 MySQL,Redis,ZooKeeper,Etcd 等三方... ...
模板方法模式是一种行为设计模式,它在超类中定义了一个算法的框架,允许子类在不修改结构的情况下重写算法的特定步骤。 ...
#Struts2架构图解 ##前言 公司的一些老项目里偶尔还能碰到基于struts框架编写的工程,但是在Spring流行的现在,新的项目开发已经不会去使用struts框架了(很多老的框架技术就已经不再被企业使用啦)。 本文只是浅显地对struts做一个图解说明,仅代表个人对于该框架的理解。 ##简单 ...
1 背景 市面上常见的有,2pc/3pc、tcc、saga等常见的分布式事务解决方案,但是实际实施起来框架比较重,设计开发比较繁琐,不易于快速开发上手。本文提供一种基于柔性事务设计的简单易上手的分布式事务设计方案,用于解决常见的分布式事务常见场景。 2 常见分布式事务场景 2.1 同步场景 常见的场 ...
更多技术文章,请关注我的个人博客 www.immaxfang.com 和小公众号 Max的学习札记。 Redis 客户端和服务端之间是采用 TCP 协议进行通信的,是基于 Request/Response 这种一问一答的模式,即请求一次响应一次。 普通模式 我们先来看下普通模式下,一条 Redis ...
hi,这里是桑小榆呀。 前面我们一起探讨了一个微服务的概念了解,微服务,也称为微服务架构,是一种架构风格,它将应用程序构建为服务的集合。集合里的每个服务具有高度可维护和可测试、松耦合效果、围绕业务能力组织,由一个小团队拥有。 我们知道,微服务架构是一种架构风格,所谓的架构风格就是一种抽象的结构,它由 ...
你需要知道的4个数据库扩展解决方案 你已经用一个直观的、用户友好的用户界面启动了你的应用程序。但是,如果你的应用程序遇到负载问题,这将使你的终端客户在使用它时感到沮丧。很有可能问题不在应用程序内部,而是在数据库。根据一项调查,38%的数据库专业人员报告说数据库停机是让他们夜不能寐的重要问题。停机可能 ...
性能调优也是有迹可寻的,本文梳理了在实际开发过程中沉淀的通用性能优化策略,并且结合风控系统服务内使用场景,帮助读者理解性能调优相关可行策略,从而建立性能优化 SOP 概念,以后出现问题即可参照优化流程改造即可。 ...
策略模式是一种非常容易理解的设计模式,其最常见的应用场景是,利用它来避免冗长的 if-else 或 switch 分支判断。 ...