Единая ответственность в smalltalk

Если Принцип единой ответственности применяется к ООП, а smalltalk (и ruby ​​также) считается одним из наиболее объектно-ориентированных языков, почему класс Object может отвечать на такое количество сообщений?

Всего несколько из Object methodDict explore :

  • inspect, исследовать, просматривать, печатать: on:
  • accept (шаблон посетителя для всех объектов?)
  • copy, deepCopy, join, joinTo, at :, at: modify:
  • asString, asFunction, asOrderedCollection (почему не asSet также?)
  • приморские: asLink, asJson, asJavascript

Это не ответственность объекта (например, модель домена пользователя должна интересовать только его личные сообщения, платежи и т. д.)

РЕДАКТИРОВАТЬ: некоторые из них имеют смысл (asString, asOrderedCollection, accept, notify), в то время как другие кажутся довольно странными (at :, asFunction, deepCopy, join, joinTo)

7
задан Kamil Tomšík 31 January 2011 в 16:48
поделиться