![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
软件编程思想
Susceptible0506
这个作者很懒,什么都没留下…
展开
-
理解IOC、DI与DIP
Spring底层容器创建实例的实现思路和我们上面写的类似,也是使用了工厂模式加上反射。由于反射创建对象的性能比较底,Spring在创建对象的时候,将对象放到了缓存上,下一次如果创建相同对象时,Spring不会进行反射,Spring会从缓存中直接将对象取出返回。 工厂模式+反射并不是IOC(控制反转)和DI(依赖注入)。 配置文件的变化是否违背OCP原则? 不违背。配置文件的变化是...原创 2020-04-24 23:58:56 · 533 阅读 · 0 评论 -
英雄联盟的小案例理解Java中如何实现OCP原则
案例: 英雄联盟的英雄、道具、地图,每年都会进行频繁变更 如果没有使用软件工程的开发思想,随便改其中一个道具的属性,就可能会导致非常严重的错误 要实现变更/增加英雄时,可选英雄数量和玩家开始一局游戏时选择一个英雄的操作 第一版代码 创建一个英雄,方法代表英雄拥有的技能 玩家输入英雄名字,代表选择该英雄 问题:随着游戏的英雄越来越多的时候,应该怎么做??? 增加英雄...原创 2020-04-24 23:55:18 · 712 阅读 · 0 评论 -
软件编程思想
软件工程的目的不是开发出项目,软件工程主要是为了项目的迭代和维护。 好的程序员追求可维护的代码 python和js语言属于灵活的语言,要写出可维护的代码比较难,而javac#语言具有一定的语法强制性和语言的特质,能够很容易的写出可维护性的代码 好的代码?不啰嗦,自描述性的代码,可维护性的代码 所有软件工程的复杂性都是为了写出可维护的代码。比如对象,多态,IOC,AOP都是为了这一目的开闭原则OC...原创 2020-04-24 23:51:03 · 501 阅读 · 0 评论