51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
#设计名片的软件
设计模式总结篇系列:外观模式(Facade)
张三自从毕业后开始做软件开发,做着做着发现不爽了,钱赚不了太多,头发也白了。于是拿着一点小资本,想着做点小生意。瞅着眼前的餐饮行业还不错,于是打算开一家餐馆。开参观可不是一件容易的事,仅仅行政类的审批流程就不少。至少包括办理卫生许可证,办理税务登记,办理工商登记等。我们先来看一下行政审批接口:1interfaceExe...
代码星球
·
2020-12-25
设计模式
总结
系列
外观
模式
设计模式总结篇系列:代理模式(Proxy)
时代在发展,我们发现,现在不少明星都开始进行微访谈之类的,有越来越多的参与捐赠等。新的一天开始了,首先看下新的一天的日程安排:1interfaceSchedule{23publicvoidweiTalk();45publicvoiddonation();67}Schedule接口定义了今天的形成安排,主要包括微访谈和捐...
代码星球
·
2020-12-25
设计模式
总结
系列
代理
模式
设计模式总结篇系列:装饰器模式(Decorator)
在面向对象设计过程中,经常会遇到需要对现有的类的功能进行扩展,通常我们可以采用继承的方式。例如老罗最近在做手机,一开始需要定义手机所应具有的功能:1interfacePhone{23publicvoidtel();45publicvoidsms();67}在此,为简单起见,只是定义了接打电话和收发短信功能。然后,老罗开...
代码星球
·
2020-12-25
设计模式
总结
系列
装饰
模式
设计模式总结篇系列:适配器模式(Adapter)
网上看到不少关于适配器模式的讲解,其中对于适配器模式解释的过于专业,一时不是特别理解适配器模式到底是用来干嘛的,具体的适用场景在哪,其最精髓的地方到底在哪。本文结合自己的理解,阐述下对适配器模式的看法。假设系统存在一个现有的类UserInfo:1classUserInfo{23privateMap<String,...
代码星球
·
2020-12-25
设计模式
总结
系列
适配器
模式
设计模式总结篇系列:原型模式(Prototype)
首先对原型模式进行一个简单概念说明:通过一个已经存在的对象,复制出更多的具有与此对象具有相同类型的新的对象。在理解Java原型模式之前,首先需要理解Java中的一个概念:复制/克隆。在博文《Java总结篇系列:java.lang.Object》一文中,对Java中的clone()方法进行了一定的阐述。同时,我们需要知道...
代码星球
·
2020-12-25
设计模式
总结
系列
原型
模式
设计模式总结篇系列:抽象工厂模式(Abstract Factory)
在上一篇的工厂方法模式中,通过一个公用的类对其他具有相同特性(实现相同接口或继承同一父类)的类的对象进行创建。随之带来的问题在于:当新定义了一个具有相同特性的类时,需要修改工厂类。这与设计模式中的开闭原则有些违背。因此,通过抽象工厂模式:创建多个工厂类而不是一个工厂类,一旦需要创建新的类对象,只需增加新的工厂类就可以了...
代码星球
·
2020-12-25
设计模式
总结
系列
抽象
工厂
设计模式总结篇系列:工厂方法模式(Factory Method)
工厂方法模式适合于对实现了同一接口或继承了同一父类的一些类进行实例的创建。一般是通过定义一个工厂类,并在其方法中实现对具有上述特点的类对象的创建。根据具体产生类对象的方法定义形式,又可以将其分为普通工厂方法模式、多个工厂方法模式和静态工厂方法模式。一、普通工厂方法模式:常见的经典写法如下(以发送邮件和短信为例):1.定...
代码星球
·
2020-12-25
设计模式
总结
系列
工厂
方法
设计模式总结篇系列:单例模式(SingleTon)
在Java设计模式中,单例模式相对来说算是比较简单的一种构建模式。适用的场景在于:对于定义的一个类,在整个应用程序执行期间只有唯一的一个实例对象。如Android中常见的Application对象。通过单例模式,自行实例化并向这个系统提供这个单一实例的访问方法。根据此单一实例产生的时机不同(当然,都是指第一次,也是唯一...
代码星球
·
2020-12-25
设计模式
总结
系列
单例
模式
六大设计原则
原文:Thereshouldneverbemorethanonereasonforaclasstochange.译文:永远不应该有多于一个原因来改变某个类。理解:对于一个类而言,应该仅有一个引起它变化的原因。说白了就是,不同的类具备不同的职责,各施其责。这就好比一个团队,大家分工协作,互不影响,各做各的事情。应用:当我...
代码星球
·
2020-12-25
六大
设计
原则
Vue 技能进阶:使用设计模式写出优雅的前端代码
在我们的应用程序中有一个顶栏,其中包含各种按钮、一个搜索栏和其他一些控件。它显示的内容根据你所在的页面略有差异,因此我们需要一种按页配置它的方法。为此,我们希望每个页面都能配置顶栏。看起来很简单,但这里有一个问题:这个顶栏(我们称之为ActionBar)实际上是主布局骨架的一部分,它长成这样:<template&...
代码星球
·
2020-12-24
Vue
技能
进阶
使用
设计模式
软件架构被高估,清晰简单的设计被低估
软件架构最佳实践、企业架构模式以及系统描述的正式方法都是非常重要且实用的工具,总会有合适的场景让它们发挥作用。但在设计系统时,请从简单始、以简单终,尽可能避免一切会无谓提高复杂度的架构与正式工具。我的职责是设计和构建大型系统。我参与重写了Uber的分布式支付系统,设计并交付了SkypeonXboxOne,开源了Uber...
代码星球
·
2020-12-24
软件
架构
高估
清晰
简单
解锁设计优质API的五种秘籍
如今,随着我们构建软件方式的变化,以及API平台的爆炸式激增,各大公司都必须以更快的速度构建出自己的产品、并推向市场。目前,几乎所有的软件需求都需要通过API来提供相应的解决方案,其中包括:支付类API、通信类API、以及传输类API等数千种。那么我们该如何设计并构建出一个优质的API呢?无论您的目标是要构建一个开源的...
代码星球
·
2020-12-24
解锁
设计
优质
API
五种
成为一个优秀架构师,你必须了解的 30 条设计原则
众所周知,架构师的角色,更偏向于策划、而非指挥,塑造、而非支配,其存在的意义,在于引导大家讨论、而非自己主宰一切。但是,具体应该如何执行呢?本文作者整理了30个公认的架构原则,来帮助大家解决此问题。也许有的原则,你从未听说,但你看完就能快速学会。 相信你学会了,工作起来也会事半功倍,或许还可帮你避免很多无用的...
代码星球
·
2020-12-24
成为
一个
优秀
架构
必须
如何在软件开发行业选择一条正确的职业道路?
当我进入软件开发领域时,我非常兴奋。我想要同时学习所有东西:游戏开发、移动开发、人工智能以及所有与之相关的内容。我把时间浪费在了写“helloworld”和一些简单的程序上,使用了大约30种语言,只是为了弄清楚我应该学哪一种。最后,一切都变得很无聊,因为我没能创造最酷的东西。然而,当我决定专注于一件事并把它学好时,一切...
代码星球
·
2020-12-24
何在
软件
发行业
选择
一条
js设计模式——策略模式
策略模式是JavaScript设计模式中行为型的设计模式;定义:定义一系列算法,并将这些算法各自封装成策略类(方法),然后将不变的部分和变化的部分分离开来,并且这些算法可以相互替换 白话解释:实际上所谓的策略模式就是值根据不同的策略来执行不同的方法,是不是很类似与if-else分支判断;但是策略模...
代码星球
·
2020-12-24
js
设计模式
策略
模式
首页
上一页
...
41
42
43
44
45
...
下一页
尾页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他