红橙Darren 红橙Darren
3年前
Android模板设计模式之 - 构建整个应用的BaseActivity
1\.模式介绍模式的定义定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。所有分享大纲:视频讲解地址:模式的使用场景1.多个子类有公有的方法,并且逻辑基本相同时。2.重要、复杂的算法,可以把核心算法设计为模板方法,周边的相关细节功能则由各个子类实现。3.重构时,模板方法模式
Stella981 Stella981
3年前
Redis 发布订阅模式(7)
列表的局限前面我们说通过队列的rpush和lpop可以实现消息队列(队尾进队头出),但是消费者需要不停地调用lpop查看List中是否有等待处理的消息(比如写一个while循环)。为了减少通信的消耗,可以sleep()一段时间再消费,但是会有两个问题:1、如果生产者生产消息的速度远大于消费者消费消息的速度,List会占用大量的内存。2、
Stella981 Stella981
3年前
Kubernetes operator 模式开发实践
0\.前言近日我们在开发符合我们业务自身需求的微服务平台时,使用了Kubernetes的OperatorPattern来实现其中的运维系统,在本文,我们将实现过程中积累的主要知识点和技术细节做了一个整理。读者在阅读完本文之后,会对OperatorPattern有一个基本的了解,并能将该模式应用到自己的业务中去。除此
Stella981 Stella981
3年前
EntityFramework 6 分页模式
在我的另一篇博客中提到了EntityFrameworkCore分页问题(https://my.oschina.net/taadis/blog/890232),中提到了EntityFrameworkCore在针对不同版本_SQLServer_数据库时如何指定分页模式,那么如何在EntityFramework6中指定分页模式呢?场景重现
Stella981 Stella981
3年前
Host Shell的gdb模式
欢迎关注VxWorks567如转发,请标明出处!HostShell集成了四种解释器,其中一个叫gdb。gdb者,gnu之debugger也。!(https://oscimg.oschina.net/oscnet/cb48d4c2c5464bffb95780b7fd3d6f83.png)gdb里提供了大量的命令,例如可以查
Stella981 Stella981
3年前
App研发录读后总结(三)
 第三部分主要讲述了项目进度的控制,日常工作中的问题解决、无线团队的组建与管理。3.1团队结构是平行模式好,还是垂直模式好    垂直模式就是按照模块,拆分出若干小的团队,每个团队有自己的android、ios、api、测试组成,这种模式的好处是沟通效率比较高,app开发人员发现接口有问题,可以直接坐到api开发人员旁边进行联调,测试人发
Stella981 Stella981
3年前
Guava中的EventBus
其实代码中经常会遇到跟主流程分支出去的异步逻辑,比如说:爬虫处理逻辑中,进行心跳打点,订单处理中,需要触发用户的个人信息变更等。这个时候就应该使用观察者模式。EventBus是Guava的事件处理机制,是设计模式中的观察者模式(生产/消费者编程模型)的优雅实现。对于事件监听和发布订阅模式,EventBus是一个非常优雅和简单解决方案,我们不用创建
Wesley13 Wesley13
3年前
23种架构模式
1、FACTORY?追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做
Wesley13 Wesley13
3年前
Java中jdk代理和cglib代理
代理模式给某一个对象提供一个代理,并由代理对象控制对原对象的引用。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。在Java中代理模式从实现方式上可以分为两个类别:静态代理和动态代理静态代理:也就是我们学习设计模式之代理模式时常见的事例,具体不在赘述,参见:
Wesley13 Wesley13
3年前
23种设计模式(17)
!(https://oscimg.oschina.net/oscnet/9a557fdc4c6342b6a7bfbd7ab1e125dc.gif)推荐阅读微服务:springboot系列教程学习(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fmp