![](https://img-blog.csdnimg.cn/d099371b065349cda332bbd9859f94d2.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
设计原则 + 设计模式
文章平均质量分 73
基础理念
bst@微胖子
优秀的架构师曾这样说过:复杂的事情简单做,简单的事情重复做,重复的事情工具做,我们只做工具。这里分享给大家,希望能够帮助众多猴子们。
还有就是在工作中不管事哪级leader指派任务,都要问清楚对方三个问题:1、具体需求是什么?2、开发周期是多久什么时候启动?3、对接配合的相关团队是哪些(UI、后台、前端、测试、产品)
同样在做项目前要自己吃透需求,同时要问清楚自己三个问题:1、为什么要这么干?2、这样干有什么好处?3、还有没有更好的方式方法去做?
项目结束要及时的进行自我复盘、review。同时把做项目前问自己的三个问题在问一边。
相信时间久了,对自己的成长会有,以此鞭策自己!!!
展开
-
设计模式之建造者模式
1.模式的定义与特点建造者(Builder)模式的定义:指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。它是将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成。它将变与不变相分离,即产品的组成部分是不变的,但每一部分是可以灵活选择的。该模式的主要优点如下:封装性好,构建和表示分离。扩展性好,各个具体的建造者相互独立,有利于系统的解耦。客户端不必知道产品内部组成的细节,建造者可以对创建过程逐步细化,而不对其它模块产生任何影响,便原创 2022-01-28 15:30:58 · 209 阅读 · 0 评论 -
设计模式之适配器模式
1.模式的定义与特点适配器模式(Adapter)的定义如下:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。该模式的主要优点如下。客户端通过适配器可以透明地调用目标接口。复用了现存的类,程序员不需要修改原有代码而重用现有的适配者类。将目标类和适配者类解耦,解决了目标类和适配者类接口不一致的问题。在很多业务场景中符合开闭原则。其缺点是:适配器编写过程需要结合业务场景全面考虑,可能会增加系统的复杂性。增加代码阅读难度,降低代码可读性原创 2022-01-28 15:14:23 · 67 阅读 · 0 评论 -
设计模式之代理模式
1.使用场景在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代理对象。例如,购买火车票不一定要去火车站买,可以通过12306 网站或者去火车票代售点买。又如找女朋友、找保姆、找工作等都可以通过找中介完成。在软件设计中,使用代理模式的例子也很多,例如,要访问的远程对象比较大(如视频或大图像等),其下载要花很多时间。还有因为安全原因需要屏蔽客户端直接访问真实对象,如某单位的内部数据库等。2.代理模式的定义与特点代理模式的定义:由于某些原因原创 2022-01-28 12:18:19 · 107 阅读 · 0 评论 -
设计模式之抽象工厂模式
1.模式的定义与特点抽象工厂(AbstractFactory)模式的定义:是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。使用抽象工厂模式一般要满足以下条件。 系统中有多个产品族,每个具体工厂创建同一族但属于不同等级结构的产品。系统一次只可能消费其中某一族产品,即同族的产品一起使用。抽象工厂模式除了具有工厂方法模式的优点外,其他主要优点如下。可以在类的内部对产品族中相关联的多等级产品共同管理,而不必专门引入多原创 2022-01-28 10:50:49 · 181 阅读 · 0 评论 -
设计模式之工厂方法模式
1.工厂方法模式定义在《简单工厂模式》一节我们介绍了简单工厂模式,提到了简单工厂模式违背了开闭原则,而“工厂方法模式”是对简单工厂模式的进一步抽象化,其好处是可以使系统在不修改原来代码的情况下引进新的产品,即满足开闭原则。优点:用户只需要知道具体工厂的名称就可得到所要的产品,无须知道产品的具体创建过程。灵活性增强,对于新产品的创建,只需多写一个相应的工厂类。典型的解耦框架。高层模块只需要知道产品的抽象类,无须关心其他实现类,满足迪米特法则、依赖倒置原则和里氏替换原则。缺点:类的个数容原创 2022-01-27 18:25:33 · 95 阅读 · 0 评论 -
设计模式之工厂模式
1.工厂模式的定义定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中。这满足创建型模式中所要求的“创建与使用相分离”的特点。2.优点和缺点优点:工厂类包含必要的逻辑判断,可以决定在什么时候创建哪一个产品的实例。客户端可以免除直接创建产品对象的职责,很方便的创建出相应的产品。工厂和产品的职责区分明确。客户端无需知道所创建具体产品的类名,只需知道参数即可。也可以引入配置文件,在不修改客户端代码的情况下更换和添加新的具体产品类。缺点:简单工厂模式的工厂类单一,原创 2022-01-27 18:06:55 · 70 阅读 · 0 评论 -
设计模式之原型模式
1.原型模式的定义与特点原型模式的优点:Java 自带的原型模式基于内存二进制流的复制,在性能上比直接 new 一个对象更加优良。可以使用深克隆方式保存对象的状态,使用原型模式将对象复制一份,并将其状态保存起来,简化了创建对象的过程,以便在需要的时候使用(例如恢复到历史某一状态),可辅助实现撤销操作。原型模式的缺点:需要为每一个类都配置一个 clone 方法clone 方法位于类的内部,当对已有类进行改造的时候,需要修改代码,违背了开闭原则。当实现深克隆时,需要编写较为复杂的代码,而且当原创 2022-01-27 17:34:41 · 77 阅读 · 0 评论 -
设计模式之单例模式
1.单例模式的定义与特点单例(Singleton)模式的定义:指一个类只有一个实例,且该类能自行创建这个实例的一种模式。例如,Windows中只能打开一个任务管理器,这样可以避免因打开多个任务管理器窗口而造成内存资源的浪费,或出现各个窗口显示内容的不一致等错误。在计算机系统中,还有 Windows的回收站、操作系统中的文件系统、多线程中的线程池、显卡的驱动程序对象、打印机的后台处理服务、应用程序的日志对象、数据库的连接池、网站的计数器、Web应用的配置对象、应用程序中的对话框、系统中的缓存等常常被原创 2022-01-27 17:10:29 · 610 阅读 · 0 评论 -
软件设计的七大原则
1.软件设计原则介绍这 7种设计原则是软件设计模式必须尽量遵循的原则,是设计模式的基础。在实际开发过程中,并不是一定要求所有代码都遵循设计原则,而是要综合考虑人力、时间、成本、质量,不刻意追求完美,要在适当的场景遵循设计原则。这体现的是一种平衡取舍,可以帮助我们设计出更加优雅的代码结构。2.七大原则讲解7 种设计原则,它们分别为开闭原则、里氏替换原则、依赖倒置原则、单一职责原则、接口隔离原则、迪米特法则和合成复用原则。实际上,这些原则的目的只有一个:降低对象之间的耦合,增加程序的可复用性、原创 2022-01-27 16:34:15 · 1112 阅读 · 0 评论