Re: Как назвать интерфейс (GetState(), SetState(...))
От: Юрий Жмеренецкий ICQ 380412032
Дата: 06.12.10 05:50
Оценка: 12 (1)
Здравствуйте, ylem, Вы писали:

Y>Как назвать интерфейс:

Y>
Y>interface ...
Y>{
Y>    object GetState();
Y>    void SetState(object state);
Y>}
Y>

IObjectWithState
Re: Как назвать интерфейс (GetState(), SetState(...))
От: artelk  
Дата: 07.12.10 10:47
Оценка: +1
Здравствуйте, ylem, Вы писали:

Похоже на Memento.
Может IMementoOriginator?
Re: Как назвать интерфейс (GetState(), SetState(...))
От: -VaS- Россия vaskir.blogspot.com
Дата: 14.12.10 14:31
Оценка: +1
Y>Как назвать интерфейс:
Y>
Y>interface ...
Y>{
Y>    object GetState();
Y>    void SetState(object state);
Y>}
Y>


А какой смысл в настолько общих интерфейсах?
Re[5]: Как назвать интерфейс (GetState(), SetState(...))
От: rsn81 Россия http://rsn81.wordpress.com
Дата: 16.12.10 10:29
Оценка: +1
Здравствуйте, Sinix, Вы писали:

S>Здравствуйте, Sinix, Вы писали:

S>Тьху, привык к immutable
S>
S>interface IStateful
S>{
S>  object GetSnapshotData();
S>  void Restore(object snapshotData);
S>}
S>

После уточнения автора, что ему нужен Undo/Redo, становится понятно, что это паттерн хранитель (memento): там класс с методами GetState/SetState называется Memento, а приведенный пример кода — Ordinator.
Как назвать интерфейс (GetState(), SetState(...))
От: ylem  
Дата: 06.12.10 03:25
Оценка:
Как назвать интерфейс:
interface ...
{
    object GetState();
    void SetState(object state);
}

Не подумайте, что мне совсем нечем заняться в рабочее время
Спасибо.
Re: Как назвать интерфейс (GetState(), SetState(...))
От: XopoSHiy Россия http://cleancodegame.github.io/
Дата: 06.12.10 03:30
Оценка:
Здравствуйте, ylem, Вы писали:

Y>Как назвать интерфейс:


IStateful?
---
http://twitter.com/xoposhiy
http://xoposhiy.moikrug.ru
Re[2]: Как назвать интерфейс (GetState(), SetState(...))
От: ylem  
Дата: 06.12.10 03:56
Оценка:
XSH>IStateful?
В некотором роде все они Stateful, за исключением тех, кто Stateless
Или я что-то не понял?
Re: Как назвать интерфейс (GetState(), SetState(...))
От: Holms США  
Дата: 06.12.10 06:30
Оценка:
Здравствуйте, ylem, Вы писали:

Y>Спасибо.


IStateAble
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
The life is relative and reversible.
Re: Как назвать интерфейс (GetState(), SetState(...))
От: Аноним  
Дата: 06.12.10 07:18
Оценка:
Здравствуйте, ylem, Вы писали:

Y>Как назвать интерфейс:

Y>
Y>interface ...
Y>{
Y>    object GetState();
Y>    void SetState(object state);
Y>}
Y>

Y>Не подумайте, что мне совсем нечем заняться в рабочее время
Y>Спасибо.

IProperty?
Re: Как назвать интерфейс (GetState(), SetState(...))
От: Cynic Россия  
Дата: 11.12.10 15:48
Оценка:
Здравствуйте, ylem, Вы писали:

Y>Как назвать интерфейс:

Y>
Y>interface ...
Y>{
Y>    object GetState();
Y>    void SetState()(object state);
Y>}
Y>

Y>Не подумайте, что мне совсем нечем заняться в рабочее время
Y>Спасибо.

Интерфейс говорит только о том, что наследующий его класс реализует два метода GetState() и SetState(), ну и назови его IState, будешь знать, что интерфейс с таким именем добавляет State-методы в класс
:)
Re: Как назвать интерфейс (GetState(), SetState(...))
От: Muxa  
Дата: 11.12.10 15:54
Оценка:
IState
IStateHolder
Re[2]: Как назвать интерфейс (GetState(), SetState(...))
От: ylem  
Дата: 15.12.10 15:04
Оценка:
VS>А какой смысл в настолько общих интерфейсах?

Хм..
У меня объекты с таким интерфейсом попадают под действие Undo/Redo "движка".

Но это не единственное применение возможности поставить "доменную модель" приложения в какое-либо состояние из тех, в которых она когда-то была.

И по поводу "настолько" общих.
Если добавить, что GetState возвращает штуку, из которой через SetState можно "поставить" объект ровно в такое состояние, которое было, когда GetState эту штуку возвращал, то куда уж конкретнее?

Или глядя на такое объявление интерфейса эта "семантика" не очевидна?
Потому что можно по-разном трактовать слово State для объекта?

ЗЫ: Пока что назвал по-рабочекрестьянски IGetSetState
Re: Как назвать интерфейс (GetState(), SetState(...))
От: LF  
Дата: 15.12.10 15:09
Оценка:
IHaveState
Re[2]: Как назвать интерфейс (GetState(), SetState(...))
От: ylem  
Дата: 16.12.10 03:50
Оценка:
A>Похоже на Memento.
A>Может IMementoOriginator?

Похоже.
Но у меня, например, это слово вообще никаких ассоциаций не вызывает.
У тех, кому после меня это чудовище достанется, тоже, вероятно, не будет.
Re[2]: Как назвать интерфейс (GetState(), SetState(...))
От: ylem  
Дата: 16.12.10 03:55
Оценка:
C>Интерфейс говорит только о том, что наследующий его класс реализует два метода GetState() и SetState(),

А названия методов ни как не намекают на то, что методы должны делать?
(Я не выёживаюьс, тут ниже интерфейс укорят в излишней "общести", а я реально не догоняю, куда уж конкретней)

C> ну и назови его IState


State -- это то, что возвращается и принимается этими методами.
Или пофигу, так делают?

ЗЫ Я бы так не заморачивался, но код не только для внутреннего использования
Re[3]: Как назвать интерфейс (GetState(), SetState(...))
От: Sinix  
Дата: 16.12.10 04:44
Оценка:
Здравствуйте, ylem, Вы писали:

VS>>А какой смысл в настолько общих интерфейсах?


Y>Хм..

Y>У меня объекты с таким интерфейсом попадают под действие Undo/Redo "движка".

Тогда
interface IStateful
{
  object GetSnapshotData()
  object Restore(object snapshotData)
}


+ генерик-вариант.
Re[4]: Как назвать интерфейс (GetState(), SetState(...))
От: Sinix  
Дата: 16.12.10 04:46
Оценка:
Здравствуйте, Sinix, Вы писали:

Тьху, привык к immutable
interface IStateful
{
  object GetSnapshotData();
  void Restore(object snapshotData);
}
Re[6]: Как назвать интерфейс (GetState(), SetState(...))
От: rsn81 Россия http://rsn81.wordpress.com
Дата: 16.12.10 10:30
Оценка:
Здравствуйте, rsn81, Вы писали:

R>После уточнения автора, что ему нужен Undo/Redo, становится понятно, что это паттерн хранитель (memento): там класс с методами GetState/SetState называется Memento, а приведенный пример кода — Ordinator.

...то есть Originator.
Re[6]: Как назвать интерфейс (GetState(), SetState(...))
От: Sinix  
Дата: 16.12.10 11:09
Оценка:
Здравствуйте, rsn81, Вы писали:

R>После уточнения автора, что ему нужен Undo/Redo, становится понятно, что это паттерн хранитель (memento): там класс с методами GetState/SetState называется Memento, а приведенный пример кода — Ordinator.

Ага. Только я предпочитаю чтобы из кода было видно для чего код был написан, а не сколько книжек асилил автор
Re[7]: Как назвать интерфейс (GetState(), SetState(...))
От: rsn81 Россия http://rsn81.wordpress.com
Дата: 16.12.10 12:14
Оценка:
Здравствуйте, Sinix, Вы писали:

R>>После уточнения автора, что ему нужен Undo/Redo, становится понятно, что это паттерн хранитель (memento): там класс с методами GetState/SetState называется Memento, а приведенный пример кода — Ordinator.

S>Ага. Только я предпочитаю чтобы из кода было видно для чего код был написан, а не сколько книжек асилил автор
Так общепринятое название, которое дают паттерны, вроде бы для того и служит: быть понятным как можно большему числу человек. Конкретно название Memento в таком виде, как обсуждается, есть в промышленном коде, к примеру, того же Eclipse RCP. Несколько лет назад, когда я пользовался этим, не знал, что это описанный паттер. Не гнушаются повсеместно вносить в название слова Observer, Visitor, Adapter/Wrapper и т.п. — вроде бы одна только польза.
Re[8]: Как назвать интерфейс (GetState(), SetState(...))
От: Sinix  
Дата: 16.12.10 13:01
Оценка:
Здравствуйте, rsn81, Вы писали:

R>Так общепринятое название, которое дают паттерны, вроде бы для того и служит: быть понятным как можно большему числу человек.


На практике оно понятно только фанам Фаулера и GoF. Среди джаваистов их много, да. На других платформах — наоборот.

R> Конкретно название Memento в таком виде, как обсуждается, есть в промышленном коде, к примеру, того же Eclipse RCP. Несколько лет назад, когда я пользовался этим, не знал, что это описанный паттер. Не гнушаются повсеместно вносить в название слова Observer, Visitor, Adapter/Wrapper и т.п. — вроде бы одна только польза.


На визиторы/обсерверы сейчас хайп — слова на слуху. Adapter/Wrapper интуитивно понятны. С memento у меня одна ассоциация — что-то такое где-то было. Не, две — оно же "сувенир на память"
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.