自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)

原创 设计模式杂谈

关于设计的个人看法我们设计一个功能的时候,要考虑的无非是那些问题:可靠性,鲁棒性,解耦性,扩展性,可读性等等。我们对代码和功能的设计过程,从面相对象的角度来讲就是一个拟物或者拟人化的一个过程——我们先确定某个功能需要什么样的角色或者“零部件”参与,然后创建对应的类,指定类的角色职能;然后各个类各司其职;然后再考虑类的扩展性相关的问题,做出优化。设计功能的第一步当然是明确需求,但是功能落地的重...

2020-04-21 08:37:27 69

原创 设计模式-状态模式

状态模式的特点是,对于有状态的对象,我们可以把复杂的“判断逻辑”提取到不同的状态对象中,允许内置的状态对象改变时影响它的行为。状态模式可以有效的减少if else 的分支结构;它将状态和行为绑定到一起,根据不同的状态来确定其行为。这样做的好处是将不同的状态引入独立的对象中会使得状态转换变得更加明确,且减少对象间的相互依赖。但是状态模式的结构与实现都较为复杂,如果使用不当会导致程序结构和代码的混乱。...

2020-04-07 08:51:51 360

原创 设计模式-迭代器模式

迭代器模式是数据访问遍历的一种行为模式。java中List、Set、Map 等都包含了迭代器。迭代器提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。迭代器模式的优点:无须暴露聚合对象的内部表示遍历任务交由迭代器完成,简化聚合类遍历的方式可扩展模式结构迭代器模式主要包含以下角色。抽象聚合(Aggregate)角色:定义存储、添加、删除聚合对象以及创建迭代器...

2020-04-07 08:48:46 363

原创 设计模式-模板方法模式

模板方法(Template Method)模式的定义:定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。它是一种类行为型模式.其优点有:封装了不变部分,扩展可变部分。在父类中提取了公共的部分代码,便于代码复用。部分方法是由子类实现的,因此子类可以通过扩展方式增加相应的功能,符合开闭原则。模式结构模板方法模式包含以下...

2020-04-03 08:47:00 363

原创 设计模式—门面模式

门面(Facade)模式的定义:是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体的细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。门面模式又被称作外观模式,这个模式特点很鲜明,在生活中我们就能找到不少例子。比如110,我们生活中遇到困难或者危险等一系列问题,我们都是直接打110找警察同志...

2020-04-02 08:58:24 377

原创 设计模式-代理模式

代理模式的定义:由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。代理模式的主要优点有:代理模式在客户端与目标对象之间起到一个中介作用和保护目标对象的作用;代理对象可以扩展目标对象的功能;代理模式能将客户端与目标对象分离,在一定程度上降低了系统的耦合度;其主要缺点是:在客户端和目标对象之间增...

2020-04-01 08:47:13 83

空空如也

空空如也

空空如也
提示
确定要删除当前文章?
取消 删除