Ответы пользователя по тегу .NET
  • Фреймворки, расширения, море технологий… для чего они?

    catlion
    @catlion
    > зачем все это?

    Если вам не нужно — не используйте. Я обычно прекрасно обхожусь без всего этого, за исключением NLog, т.к. сделать правильное логирование — та еще задача.

    > Опять же — неужели нельзя обойтись без этого простыми методами?
    Вы не раскрываете, что для вас простые методы. Если это WebForms со всей логикой в code-behind, то какие у вас объемы проектов и сколько над ними работает людей? Когда вы потеряетесь в лапше кода, вы обнаружите, что для WebForms рекомендован другой паттерн MVP.

    > Простой проект MVC — это около десятка папок, пять конфигов, куча контроллеров
    Неправда. Открываю солюшн: около 15k LOC (это немного, но и не HelloWorld), в веб-проекте только стандартные папки: Controllers, Views, Models. Куча контроллеров как правило ссодержит в себе мизерное количество кода, по сравнению с нижними слоями.

    > MVC — круто, наворочено, универсально — но проигрывает по сравнению с тем же PHP по многим пунктам
    Вы сравниваете апельсины с яблоками, MVC — это паттерн, PHP — язык. И на дотнете тоже можно писать в стиле Response.Write, и для PHP есть десятки MVC-фреймворков.
    Если для вашей задачи не подходит MVC-паттерн, ну так существует масса других. Если вас напрягает количество контроллеров, есть разновидность MVC — Front Controller, и даже реализация для дотнета: FubuMVC,

    > И как можно вникнуть в технологию, чтобы применять её на практике, если через пару лет появляется более новая технология или в корне меняется старая
    Почитайте Фаулера, все эти абстракции стандартны и почти везде одинаковы.

    > Фреймворки, расширения, море технологий… для чего они?
    У разных задач — разные решения. Для того, чтобы был выбор.

    > Как остаться нормальным программистом не на задворках, не потерять хватку и не теряться во всем этом?
    Подтяните матчасть: начните с Фаулера, по вкусу добавьте Мартина. Сами решите, что вас устраивает, а что — нет.

    В заключение хочу сказать, что на MVC свет клином не сошелся. Существует масса альтернативных паттернов и их реализаций для дотнета: Nancy, OpenRasta, FubuMVC, Manos, ServiceStack…
    Ответ написан
    3 комментария
  • Поиск работы

    catlion
    @catlion
    rabota.yandex.ru/search.xml/?text=C%23&rid=&job_industry=275
    odesk.com
    freelance.com

    С удаленкой будет плохо, особенно учитывая, что такие вакансии в основном в Москве, а вы в Казахстане. Так как даже те вакансии, что есть, подразумевают периодическое присутствие в офисе.
    Ответ написан
    Комментировать
  • Аналог php функции strtr в .Net

    catlion
    @catlion
    using System;
    using System.Text;
    using System.Collections.Generic;
    
    class Program
    {
    	public static void Main(string[] args)
    	{
    		var repl = new Dictionary<char, char> { {'o', 'l'}, {'l','o'} };
    		var src = "ololo";
    		Console.WriteLine("Source string: " + src + "; changed string: " + src.Strtr(repl));
    		Console.ReadKey();
    	}
    }
    
    public static class StringExt
    {
    	public static string Strtr(this string src, Dictionary<char, char> replacePairs) {
    		var sb = new StringBuilder();
    		foreach (char c in src) {
    			if(replacePairs.ContainsKey(c)) {
    				sb.Append(replacePairs[c]);
    			} else {
    				sb.Append(c);
    			}
    		}
    		
    		return sb.ToString();
    	}
    }
    
    Ответ написан
    5 комментариев