Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Как это работает?

20.02.10 18:59
Re: Как это работает?
 
Murr_0005 посетитель
в ответ Mmmaloy 20.02.10 15:55
логику можно всегда будет приписать, но позже
------
Я опять немножко не понял. Автоматическая проперть требует пустых сеттера и геттера. Вписать в них функциональность = отказаться от автоматической проперти. Если же имеется в виду добавление имплементаций каких-то интерфейсов, то вроде как билли отказался от этого в пользу имплементации внешних процессоров. Ну типа как запись в базу и т.п.
Т.е. либо пустое типизированное хранилище, что легко делается через DataSet, либо отказываемся от фичи.
на отрез отказывались применять Свойства
-----
Это полиси в компании.
У меня было пару раз, что писали с открытыми полями. И менять методику - не хотели. Подобрал методику, весьма простую - передавал на доработку другому, и потери времни все быстро исправили. Так что - не аргумент.
Также приятно писать/читать код с минимальным количеством букав
------
Да, это - аргумент. Будь моя воля, Я бы совместил определение пропети и определение поля. Что-то типа:
private String myProperty; // только поле
public String MyProperty { get {...} set {...} }; // чистая и/или автоматическая проперть
public String MyProperty { get {...} set {...} } myProperty; // проперть и приват поле
Вроде никаких неоднозначностей не вносится и абстрактность не страдает.
Можно, в принципе, сделать еще проще - поля, как таковые, всегда иметь приват или протектед, а рядом определять паблик сеттеры и геттеры. Но тут пострадает абстрактнось - проперть нужна сама по себе. Так что - доопределять поле правильнее...
Но все же есть регионы - лишний на данный момент код можно убрать.
Я воспринял эту запись как случай отделения логики от данных
-----
Был бы статический метод... и вызов через тип.
процессом вычисления лучше управлять извне (метод Calc)
-----
Думаю, что нет. Основания - все та же ООП - процессом вычисления должен управлять сам объект.
Организация управления - достаточно тривиальная - новый поток для продолжительного вычисления, пулл потоков для оптимизации загрузки, синхронизация (если не успело вычислится - жди - как и с вызовом Calc) для выдачи результата в проперть.
Также я стараюсь поступать со своими классами.
-----
Годик назад повозился с потоками. Результат говорит, что если есть готовность использовать потоки - надо их использовать. Как раз для этих целей. Готовность в данном случае - по квалификации и по времени имплементации. Время там возрастает примерно вдвое и аккуратность требуется куда как более высокая, чем при автопропертях... Но работает - на раз.
 

Перейти на