Composite Oriented Programmint
对比OOP似乎是更适合描述现实世界状态
我在Apache Zest Project中看到这个观念
Zest是由Qi4j纳入Apache后改的名称
而Qi4j原先提倡观念如下:
1.Behavior depends on Context
2.Decoupling is a virtue
3.Business Rules matters more.
4.Classes are dead, long live interfaces.
有人对COP程式设计有研究吗?
会是未来新的语言的设计考量吗?
目前Zest是属于将Java转化为COP思考模式的做开发的一个框架
https://zest.apache.org/java/2.1/two-minutes-intro.html
Hello world范例如连结
我理解的观念是
将Interface看成是一个Role
class是实作方法的地方
一个Role可能会有早上当程式设计师晚上下班兼职做网络卖家
所以可以写
Developer.class实作coding() ,debug()
Seller.class 实作sell(), shipping()
随时想要让这个Role处理什么事情
只要Role跟class混合(mixin)
就可以使用该方法。
所以Role去mixin Develope.class
会产生一个Instance
就可以用coding() debug()
不知道理解有没有错。
感觉这样的设计思想还不错,
估计可以提升class的重用机率,
比起不断的继承造成肥大的体系似乎来的好的多?