Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I suspect xd doesn't either.


Nice. Are you trying to tell me that that example doesn't appear to try and avoid state?


That example is full of state. There's nothing to prevent you from calling any of those setX methods at a later point in time and changing the object's state. That interface very well could avoid state, but Swiftmailer doesn't seem to be implemented in that way. [1]

The stateless way would be to return an entirely new Swift_Message instance with each setX method. In languages that aren't built with immutability in mind, like PHP and Java, you end up instantiating and throwing away a lot of objects. Sometimes it doesn't matter, but when it does you use a mutable Builder to create the immutable instances.

[1] http://swiftmailer.org/docs/messages.html


That example is full of state.

That's why I said it appears to try and avoid state. Either way, as far as I'm concerned it's an horrific way to write code in an imperative language such as PHP.


I beg to disagree. It's a variation of the builder pattern and I find it quite useful, thank you.


Not to me.

setX is reminicent of Java to me, and of small talk attribute setters/getters before it.

Both of those languages elevate state to the point of godhood.


It's not about the setters/getters directly, it's the way they are being called by returning references to the parent object in each method call.


Right, and that's an insanely common idiom in Java, where state is A-number-one best friend.


Ah, I see. I'm no Java developer, sorry.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: