Другие языки программирования и технологии

вопросы на засыпку С# и другие ООП языки

Сможете ответить на вопросы?

Вопрос 1
Вы разработали классы, которые являются оберткой для функциональности операционной системы. В чем заключается преимущество при доступе остальных классов через классы-обертки к функциям операционной системы, а не прямо?
1. переносимость
2. производительность
3. маштабируемость
4. потоко-безопасность
5. эффективность

Вопрос 2
Если бы класс походил на таблицу в базе данных, то объект походил бы на
1.Строку
2.Запрос
3.Индекс
4.хранимую процедуру
5.View

Вопрос 3
Плоские файлы - часто являются хорошим механизмом для хранения всего, КРОМЕ ________.
1.логов транзакций
2. конфигурационных объектов приложения
3. логов ошибок
4. объектов, которые используются для передачи в другие системы
5 Объектов, которые часто меняются

Вопрос 3
Какой абстрактный класс может быть у класса «Футболист»
1 Игра
2 Спорт
3 Команда
4 Атлет
5 Зарплата

Вопрос 4
Вы разработали классы – враперы (Wrap classes) для объектов ОС Для чего использовать в каждом вызове необходимого функционала "wrapper" ,а не вызвать напрямую? В чем преимущество? В ___
1.Переносимости
2.Скорости выполнения
3.Расширяемости
4.Потоковой безопасности
5.Эффективности

Вопрос 5
Что является признаком хорошего пользовательского интерфейса?
1.Все элементы имеют сходство с реальными объектами, которые они моделируют
2.Похожие объекты ведут себя сходным образом
3.Каждое новое окно или экран использует свое множество объектов для пользовательского ввода и вывода
4.Некоторые элементы доступны только для чтения
5.Классы, производные от одного главного UI класса используются для обработки всех пользовательских операций ввода\вывода
Евгений @
Евгений @
795
1. В .NET через атрибут DllImport импортируются функции системного API. Выглядит как статичные методы с большой зоной видимости (public, internal). В них нет никакого дополнительного функционального кода.
Дальше создаются классы реализующие НОВУЮ функциональность, и лишь косвенно использующие вызовы системного API. Этим на 98% заполнен весь .NET Framework. Реализуются различные паттерны обработки данных.

2. Таблицы баз данных привязываются к объектам по-разному. Это называется ORM. Есть минимум 2-3 популярных паттернов реализации этой привязки в корне отличающиеся друг от друга (UoW, ActiveRecord). Обычно есть класс объект базы данных, у него в публичных свойствах объекты-таблицы. У каждого объекта таблицы объявлены CREATE READ UPDATE DELETE команды. Дальше есть класс который идентифицирует строку в таблице, либо в более мощных ORM(Entity Framework, NHibernate) этот класс представляет сразу НЕСКОЛЬКО строк в разных таблицах связанных между собой через JOIN.

3.1 Плоский файл хранит бинарные данные. Или текст по строкам в указанной кодировке. Применяя сериализацию в плоском файле можно сохранить сложный объект. Сохранение часто изменяющихся объектов чаще пишется в оперативную память и только потом сбрасывается в файл. Однако даже в SQL серверах файл базы данных может дописываться сразу а не отложенно. Это не эффективно зато не допускает потерю данных при отключении питания. Операционная система в 90% случаев кэширует частые не оптимальные обращения к файлу, и сглаживает потери производительности.

3.2 У класса "Футболист" абстрактным классом скорее всего будет "атлет".

4. Разработав обёртки для системных вызовов есть возможность работать с ними применяя перегрузку операторов, и применять типы данных объявленные в .NET Framework.
Не будет никаких опасных IntPtr. Ведь C# работает с автоматической сборкой мусора и интерфейсом IDisposable. Он не умеет прозрачно управлять объектами расположенными в не управляемой памяти.

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

Но по дизайну разбираться надо отдельно. Программисты мыслят сложно, а пользователи просто. Вы не можете им дать сложный интерфейс. И не можете дать что-то с чем они ранее не работали. То есть даже если и необходимо поднять уровень пользования ПК, то лучше это сделает другой программный продукт. А с вашей программой разберутся с пол оборота.
Cергей Грицкевич
Cергей Грицкевич
10 716
Лучший ответ
Я с этим не дружу.. .

1. Эффективность
2. Viem
3. Объектов, которые часто меняются
4. Команда
5. Эффективности
6. Похожие объекты ведут себя сходным образом (а возможно и пятое)
ДД
Денис Долгих
40 015

Похожие вопросы