Я хотела, чтобы опыт, полученный с 1с, можно было использовать в дальнейшей работе. Поэтому решила, что буду развиваться в бэкэнд. Почитала про языки и платформы и выбрала c# как простой и удобный язык) Сейчас думаю, что можно было бы выбрать любое направление. Было бы не на много сложнее.
Посмотрела ссылку. Там обратная ситуация - получение массива ИЗ контроллера. А мне нужно получить массив В контроллере.
Добавила в код еще строку fileContent.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); Не помогло. В контроллер все так же получает nyll.
В 1С довольно узкая предметная область. Т.е. все проекты касаются в основном учета (бухгалтерского, производственного или торгового). Есть конечно исключения, но они довольно редки. А сейчас я обрабатываю данные с радаров, разбираю форматы метеоданных. Боже, насколько же это интересней!))) Мне наконец-то нужна математика, а не арифметика.
Ну и конечно сам процесс программирования. В 1С ты работаешь с кирпичами, которые могут быть 3 форм - квадратный, прямоугольный и круглый. Если хочется использовать треугольный кирпич, то ой. В c# у меня есть куча мелких кубиков лего, из которых я могу собрать треугольный кирпич, кирпич с выемкой, треугольный кирпич в кирпиче с выемкой и т.д.
В общем, 1С - это не столько программирование, сколько конфигурирование.
При этом я продолжаю считать, что 1С - это отличная платформа для задач учета. Недавно они выпустили новую версию своей IDE (до этого был совсем убогая), есть мобильная платформа (жаль мне так и не попался проект под нее), есть веб.
Я была хорошим 1С-ником, поэтому при смене деятельности потеряла в зарплате в 3 раза. Это аргумент в сторону финансовых плюсов 1С. С другой стороны, я в перспективе не буду привязана к внутреннему рынку и валюте.
GrandFather gf = new GrandSon();
Console.WriteLine(gf.GetDescription());
у меня сработает метод из GrandSon() и выведет "GrandSon".
В принципе, я уже поняла, что это возможно только изменяя класс GrandFather (сделать GetDescription() виртуальной). Хотя мне казалось, что new для метода в классе Son решит эту проблему.
Роман: Сергей Тепляков в очереди на прочтение)
Мне, как новичку в c#, пока интересно покопаться в наследованиях, независимо от того, хорошая это практика или нет.
В примере на Java в книге метод GetDescription() не является виртуальным или абстрактным. Вот я и подумала, что на шарпе это тоже можно как-то реализовать в наследниках.
Получается, что нельзя.
Я пытаюсь перевести на C# пример, написанный на Java, из книги "Паттерны проектирования" Фрименов. Пример относится к паттерну Декоратор и в условиях задачи класс GrandFather взят из API заказчика и его нельзя менять.
Оба ваших варианта подходят локально, но для основной задачи мне нужно как-то перекрыть GetDescription() в Son.
В коде, который приведен в вопросе, я попыталась вынести создание объекта на уровень тестового класса. Но оказалось, что при запуске тестирования всех методов, каждый раз создается новый экземпляр класса TestClass(). Т.е. я вижу в отладчике как после тестового метода Method_1() он идет опять в конструктор класса прежде чем перейти к тестовому методу Method_2().
Вот и не могу понять, куда мне нужно запихнуть создание godObject, чтобы при отработке тестовых методов использовался один и тот же экземпляр.
Moq смотрела, но не придумала как его использовать. Как я понимаю, Moq позволяет имитировать объект только с нужными данными/методами. А мне нужны все данные моего объекта.
Мой объект - это что-то вроде множества точек со свойствами, а методы которые я хочу протестировать группируют эти точки и делают расчеты по группам. Эти расчеты имеют смысл только на достаточно большом количестве точек. И имитировать это большое количество точек мне кажется не оптимальным подходом...
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.