4 ms·
Seems to me that Ruby modules affect the same outcome as an interface without all the overhead. Just include the module & you've got the desired behaviors and d
by tres 16y ago
Seems to me that Ruby modules affect the same outcome as an interface without all the overhead. Just include the module & you've got the desired behaviors and data types without all the fuss.
You get exactly the same benefits as you would from an interface (minus the rigidity)...
- okaramian 16y agoI've been working in C#/.NET for a while and I've started using Ruby recently for a couple of different projects at home. It's messing with my head because I'm starting to kind of hate the rigidity I'm forced to work with when I'm deciding whether I should/should not implement an interface. That said, yes, Ruby with interfaces seems kind of pointless and is just throwing more code in, which is the opposite of one of the nicer points of the language.
- swannodette 16y agoMissing the point entirely. I don't want your module. I want/like your design and I want to provide my own implementation.
- clyfe 16y agoOverride the functions in my module with your own
- jules 16y agoDefine exception throwing "not implemented" methods in the module.
- russellperry 16y agoI get what you're saying, but Ruby already allows you to do this. If you like an API/design, then go ahead and reimplement it however you like. There are no class-level contracts anywhere in Ruby that would prevent this, and therefore interfaces provide no additional level of abstraction that Ruby doesn't already have.