光明
2018-01-30
文章太好了,赞👍
12
拉欧
2019-05-27
面向对象编程,一是抽象思维,把数据和算法抽象成类和对象;二是标准化,接口即协议,所有的实现类都要满足定义的接口才可以作为依赖;三是封装,对象之间通过接口调用,互相之间不关心彼此的细节;总之,接口的定义是否清晰是面向对象设计的关键;
由于对象内封装了状态,所以在并发环境下天然存在问题
6
连子
2018-04-14
领域建模啥时候讲讲?
4
fsj
2018-04-05
示例三中的代码感觉使用了RAII技术也很丑陋;控制反转挺难理解的,但是我觉得更难的是识别出哪里需要控制反转
作者回复: 求不丑陋的例子
4
Join
2018-02-28
刚好今天代码里用到了IOC/DI,这时候看下文章太有感觉了,有补充了新的知识,谢谢皓子叔
4
瀚海星尘
2019-07-15
IoC/DIP的思想真是酷啊!!!
3
七月有风
2019-05-20
老师,您好,RAII 那段代码在C++中可以那样去实现,在JavaScript中有没有替代方案,最近就有这个问题,一直没找到很好的解决方案。请老师回复。
3
slark
2020-01-07
面向对象从了解时候感觉很自然,通过类封装数据,对外只暴露接口,只要接口不变,底层实现可以进行更新,同时通过继承和多态,适应了动态场景。但函数式编程里就不需要了么?期待后续说明
1
业余爱好者
2019-10-12
本文的控制反转似乎和spring中的控制反转不是一回事?
1
edisonhuang
2019-06-24
面向对象的编程有三大特性:封装、继承和多态
相比于函数式编程更强调动作,面向对象则更强调名词。它更符合我们人类的思考模式,将数据封装在对象之中
面向对象强调两点,一是面向接口而非面向实现编程。二是偏向使用组合而非继承。
通过面向对象的方法,实现控制反转个依赖导致。对于底层的服务更多的是实现标准的协议,同时将协议开放出来提供给其他系统订阅 。而基于协议需要做怎样的具体操作,则交给其他系统以及来决策
1
Valen
2019-05-30
@xilie 关于会员等级与多个业务特权对应的问题, 想了下可以用控制反转的方法. 就是抽出一个 等级<->特权 的标准出来, 向外提供 类似 `getPrivileges(level)`, `havePrivilege(privilege, level)` 的接口, 然后会员等级系统和业务系统都依赖于这个标准. 有变动的话就直接改这个标准就行
1
xilie
2019-04-24
有个面向对象的设计问题求解:
背景:1、有会员等级系统,等级级别分类需要由运营情况来定可伸缩,并不固定;2、好几个业务系统,跟进会员等级,给予不同的会员权利;
问题:如果会员等级系统只提供接口,业务系统使用,这样虽然会员等级系统很干净,可是一旦会员等级系统的级别分类变化,各业务系统得对应开发。而如果换个方式,业务系统注入不同等级的会员权利,会员等级系统就很不干净,而且各业务系统注入的会员等级可能不一致,造成混乱。
不像开关,只有开和关,固定不变,会员等级系统内的等级级别会变化,怎么解决呢?
展开
1
1
宋桓公
2018-08-17
我觉得面向对象最有用的是多态
1
Freezer
2018-01-31
耗子神,更新的太慢了,求加餐啊🙏🙏🙏
1
RZ_diversity
2018-01-31
看过后,对本科学的C++有了新的认识,需要反复领会其中的知识点
1
毛尖好喝
2020-01-14
抽丝剥茧
我们在线,来聊聊吧
✕
您好,当前有专业客服人员在线,让我们来帮助您吧。
我们在线,来聊聊吧