码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 面试题:熟悉设计模式吗?谈谈简单工厂模式和策略模式的区别


    刚刚接触设计模式的时候,我相信单例模式和工厂模式应该是用的最多的,毕竟很多的底层代码几乎都用了这些模式。自从接触了一次阿里的公众号发的一次文章关于 DDD的使用 以后,就逐渐接触了策略模式。现在在项目中运用最多的也是这几种设计模式了,用了设计模式给我的感受就是感觉代码没那么冗余了,再注入一点贫血,充血模型之后,感觉在 service 层面代码看上去很舒服很简洁。

    首先,我个人感觉策略模式和我们常说的微服务我觉得思想上很像,尤其记得当时介绍DDD时候的举例说的是关于银行的转账案例,用的事务和领域驱动设计做的比较,让人一目了然的逻辑,代码也再也没有那么冗余了。(具体的文章地址找不到了,不过网上现在比较多的介绍DDD的,大体意思是一样的)

    其实工厂模式和设计模式一直给人一种错觉,总感觉是一样的,没有丝毫的区别。可以看下两种模式的UML图。

    在这里插入图片描述
    从图上来看,并没有多大的区别,话不多说,从具体的代码入手。

    先写一个人的接口类,有eat,run,wear 3个方法

    public interface People {
       
     
        public
    • 1
    • 2
    • 3
  • 相关阅读:
    [Codeforces] games (R1600) Part.1
    爷回青——小米5s Plus刷入LineageOS
    常见数字 | 资料分析
    设计模式原则——接口隔离原则
    css3过渡属性属性名:transition
    Vue3函数式编程
    AtomicLong与LongAdder(上)
    Java面试-轻松搞定Java面试集合相关题目
    阿里内部疯传的 2022年度Java面试总结手册「失传资料」
    【angular】TodoList小项目(已开源)
  • 原文地址:https://blog.csdn.net/weixin_43228814/article/details/133238519
  • 最新文章
  • 管理复盘:一次代码审核冲突的处理与反思
    LLM论文研读:Trace as State——把思考过程放到问题之前,真的能让大模型更会推理吗?
    Openplc与Fractory IO联合仿真
    大模型(DeepSeek)辅助 3D 实时建模 + 拖拽配置:业务可视化应用快速构建实践(标注、巡检与视角控制等)
    给Claude Code装上40个Skill后,我才发现之前都白用了
    数字化转型的价值迷思:从技术指标到业务结果
    DBA 经验:MySQL性能最重要的参数只有2个!
    嵌入式里面互相嵌套的结构体
    Python 创建 Excel 下拉列表的两种方法
    数字航空摄影:经典计算与参数推演
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号