Вверх ↑
Ответов: 23
Рейтинг: 0
#1: 2017-04-03 21:28:59 ЛС | профиль | цитата
Да я представляю что есть объекты которые не представить строкой, ну чтож пусть они будут, ведь в этом случае прослеживается пользователем будет прослеживаться логика - один компонент создает объект, другой использует, тут незачем придумывать интерфейсы - они уже придуманы, стримы, канвы присутствуют во многих прикладных языках, наверно потому что они связаны не с алгоритмами а с платформами. Стримы это получается унифицированный интерфейс обмена данными с устройствами памяти, канвы и всякие битмапы - логический интерфейс работы с двумерной графикой, типа как работа с openGL что в си, что в питоне, что в яве, паскале и т.д. будет похожа, свои обертки будут, но методы и терминология и принципы использования не изменяться. В случае же с hFile и hFileReadWrite фактически только эти компоненты и используют свои спец типы, т.е. точку File фактически может использовать только hFile, Environment вполне может обойтись строкой, причем его точки могут быть использованы и вообще без применения hFile в программе (например показать пути пользователю, записать их куда-то через hFileReadWrite или в какую-то БД и т.п.), т.е. он логически независим от hFile, а вы их связали, и пришлось изменять StrCat, а он вроде и не причем тут. Вот выведена точка RandomFileAccess и где я смогу ее еще использовать? Вот например передал бы я ее компоненту битмап чтобы он сохранил туда картинку, но нет тут правильней и логичней передать стрим... Чтобы создать папку (повседневное можно сказать действие куда без него в большинстве программ) - нужно на скрытую точку завести путь, потом вызвать doOpen, а только потом doMakeDir, теперь этот экземпляр будет хранить в mfile файловую переменную с путем к созданной папке и где мы его сможем использовать? - только для удаления папки, а это может понадобиться очень не скоро, сразу только если пользователь ошибся, а скорее всего через часы и дни, а для того чтобы воспользоваться этим же компонентом для создания файла нужно снова заводить путь+файл и doOpen и DoCreateFile, либо использовать еще один hFile, т.е. новый экземпляр.... Так это все равно что выполнить по точке doMakeDir создание экземпляра File и создать папку по нему, вы тут не добиваетесь никакого ускорения. На экземплярах имеет смысл экономить когда они большие, когда при создании копируются большие области данных уникальные для каждого экземпляра класса.
А что до слабых устройств - то концепция ведь в том что языки становятся проще и мееедленнее, а количество ядер и памяти растет, народ покупает новые более мощные игрушки и вроде все довольны, сейчас главное скорость разработки и низкий порог вхождения.
Вот Dilma уже ответил как знаток концепции объектно-ориентированного программирования, жаль что я не очень понимаю что он имел ввиду, хоть и прочитал уже его сообщение пять раз... ))
карма: 0

0