Silverlight великолепен, и с помощью служб RIA решает много вещей, НО.
Почему мы вынуждены получать; установить на каждую модель?
Мне стало известно, что если у нас есть Клиент, и Идентификатор Клиента никогда не должен изменяться, то свойство Идентификатор должно быть доступно только для чтения, если у Клиента есть пароль, который должен пройти через некоторую логику, прежде чем его нужно будет установить, свойство должно быть только для чтения, чтобы никто не мог использовать мой объект неправильно.
И одна из самых больших вещей, которые мы почти никогда не должны позволять получать; установите для коллекций, например, invoice.Rows, поскольку это может привести к трудностям, которые трудно найти. Может быть, я хочу заблокировать метод invoice.Rows.Add (который, кстати, нарушает принцип Закона Деметры), потому что я хочу сделать некоторую проверку в методе invoice.AddRow (row); перед добавлением строки.
Иногда мы хотим решить эту проблему на стороне сервера, например, отправив строку для счета-фактуры по услуге, когда она добавляется, но иногда мы хотим построить весь счет-фактуру на клиенте, а затем отправить его заново. Мне не нужно спрашивать службу. Эй, я только что добавил эту строку, могу ли я получить пересчитанную общую сумму с НДС и без НДС и т. Д.
Разве я единственный, кто чувствует себя потерянным или мои цели и цели неверны, разве мы не должны использовать серебряный свет с объектно-ориентированными мыслями?