• С 5 мая в России вступает в силу обязательная идентификация в мессенджерах по номеру телефона
    +1
    То, что вы не знаете как (и я тоже), не означает, что это невозможно и что спецслубы активно не ищут такие возможности. Вы легко найдете ссылки на примеры, когда https не помог скрыть информацию. Наконец, в «полицейском государстве» можно просто запретить трафик, на который нет копии сертификата. А с учетом того, что закон Яровой технически провальный, запрет неопознанного трафика очень реален.
  • С 5 мая в России вступает в силу обязательная идентификация в мессенджерах по номеру телефона
    0
    Вы рассуждаете именно так, как хочет Роскомнадзор. Используете стандартные решения, которые или уже вскрыты, или могут быть вскрыты при необходимости, или провайдеры, которые их предоставляют, обязаны работать с органами и т.д. В этом смысле на много надежнее более простые, но никому не известные каналы и протоколы.
  • С 5 мая в России вступает в силу обязательная идентификация в мессенджерах по номеру телефона
    0
    Речь не о том, что есть решения, а том, как скрыться от надзора. В этом контексте использовать готовые свободные решения не очень безопасно. Для скрытности в разы надежнее сделать свое. Я думаю, что «плохие парни» так и работают.
  • С 5 мая в России вступает в силу обязательная идентификация в мессенджерах по номеру телефона
    0
    Написать свой собственный мессенджер для простого обмена текстовыми сообщениями — дело на пару часов. Для всяких злодеев, которые действительно хотят скрыть свое общение, это на много проще, чем придумывать конспирацию поверх существующих мессенджеров.
  • Дистанционное управление по сети Ethernet: Технология M2M на примере связки модулей KBX-3D и Laurent-2
    0
    Понимаю, что тема старая, но спрошу.
    Есть у нас несколько модулей Laurent-2 и KBX-3D. С Laurent'ами проблем нет, а вот KBX-3D упорно не желают посылать сообщения М2М по событиям изменения состояния входных линий. При этом они на связи и сами исправно принимают команды. В чем может быть проблема?
  • Интерфейсы в C#
    –2
    У вас его тоже нет в виде универсального рецепта. Приступая к проекту, вы определяете круг задач и исходя из этого решаете где нужен интерфейс.

    Если вас просят вскопать огород, вы приходите с лопатой, если забить гвоздь, то с молотком. Вы же не потащите «на объект» все возможные инструменты. Так и здесь.

    Вы уже поняли, что зря тут на меня наехали, но гордость не позволяет отступить. Начали уже за все подряд цепляться лишь бы последнее слово сказать.
  • Интерфейсы в C#
    0
    Ну это каждый сам решает исходя из задачи. Если бы было четкое правило, то его бы компилятор проверял и вы бы просто проект не собрали.
  • Интерфейсы в C#
    0
    что если реализация одна или что без интерфейса тоже заработает, то он не нужен — бред.
    Почему?

    Вам здесь еще никто и не сказал, что их надо лепить везде подряд.


    Да все только про это и говорят. Я пишу, что интерфейс нужен вовсе не везде а только там, где он нужен, а мне отвечают, что я не прав. Вы же программист? Утверждение обратное «Интерфейс нужен не везде» — это «Интерфейс нужен везде». И при этом все отмечают, что у них как бы не все классы под интерфейсами, но я все равно не прав.
  • Интерфейсы в C#
    –2
    Э…
    Открываем microsoft. Членами класса являются 1,2,3,… Переменных нет, но есть поля класса, которые содержат переменные класса. Идем дальше на страницу полей
    Поля объявляются в блоке класса путем указания уровня доступа поля, за которым следует тип поля, а затем имя поля.

    Т.е. в данном случае все таки объявление, но конечно не класса, но и не переменной, а поля. Под которым в дальнейшем подразумевается класс.

    Я не понимаю, зачем это все здесь обсуждать. Очевидно у вас тоже не уверенные знания.
  • Интерфейсы в C#
    0
    Все 100% классов в ваших проектах имели интерфейсы? Учебные и тестовые проекты не являются программами по определению и обсуждению не подлежат? Это серьезно?

    По ссылке из вашей единственной статьи (да, я любопытный) перешел на гитхаб в «unitycontainer», походил по классам. Интерфейсы есть далеко не везде. Может уже пора признать, что если интерфейс не нужен, то он и не нужен?
  • Интерфейсы в C#
    –2
    Я даже не представляю, что можно было бы ответить на это. Это зависит от того, что считать правильным ответом. Так наверно. Теперь вы голову ломайте.
  • Интерфейсы в C#
    –1
    Ок, у вас в проектах все без исключения классы имеют интерфейсы потому что ООП? И еще наверно абстрактный класс до кучи? Понимает, здесь в обсуждении все приводят примеры когда без интерфейсов никак или очень сложно. Но утверждать, что это всегда так не правильно.

    Я вот просто открыл гитхаб и набрал в поиске «C#», перешел по первой же ссылке — какая-то игра «JumpAttacker». Довольно объемный проект. Походил по файлам. Нет интерфейсов… Может плохо искал. Пошел по другой ссылке (что-то китайское «GavinYellow»). В некоторых классах были интерфейсы, в некоторых нет. Идем далее «statianzo» — где-есть, где-то нет интерфейса.

    Я уже ниже писал, что если погуглить англоязычные форумы, то там пишут, что интерфейсы не надо липить везде подряд вот или вот
    И вы уж извините, но я склонен больше доверять тем, кто придумал C#.
    Do define an interface if you need to provide a polymorphic hiercharcy of value types
    , а если полиморфизм не нужен, то не захламяйте код.
  • Интерфейсы в C#
    –1
    А почему вы решили, что не планирую ссылаться на HelloWord? А вдруг потребуется поддержка? Все примеры здесь «притянуты за уши» ни чем не лучше друг-друга.

    Ни кто не хочет смириться с мыслью, что бывают простые проекты.

    По поводу реализации похожих интерфейсов, я написал, что есть механизм для этого, исключающий неоднозначность, что не знаю как еще это можно использовать, кроме того, о чем написал, но можно проделать интересный фокус, который возможно кому-то покажется полезным. Учитесь читать.

    По поводу терминологии. Один раз случайно «унаследовал» интерфейс и все. Если верить МСДНу, то создают экземпляр класса, а не «переменную типа». Да, не объявляют. 1:1

    Прочее читаю придиками не по существу.
  • Интерфейсы в C#
    –1
    Что тут не понятно? Три класса имеют одинаковые методы. Было бы красиво прикрутить интерфейс, который они реализую. Но в данном случае ничего кроме красивости это не даст. Все как работало, так и будет работать. Я не знаю какой там контекст, но если это законченный проект (путь такой странный), то интерфейсы ему ни чем не помогут.

    что касается ревью, то пожалуй:

     interface Ix {
            void Run();
        }
    
    public class A: Ix
        {
            public void Run() => Console.WriteLine("A");
        }
    
        public class B: Ix
        {
            public void Run() => Console.WriteLine("B");
        }
    
        public class C: Ix
        {
            public void Run() => Console.WriteLine("C");
        }
    
        class Prg
        { 
            object GetSmth() => new B();
    
            public  Prg()
            {
                var smth = (Ix)GetSmth();
                smth.Run();
                Console.ReadKey();
            }
        }
    


    Это по сути то, что я написал сразу после дополнения, если вы читали (многие по-моему не читали дальше ката)
  • Интерфейсы в C#
    –2
    Ну если сомнительно, то напишите как интерфейс к классу, который есть только в одном экземпляре и на который больше ни где ни кто не ссылается, вам чем-то поможет. Напишите.

    А, все рано же не напишите…
  • Интерфейсы в C#
    0
    Вы меня тролите что-ли?
  • Интерфейсы в C#
    0
    Да все вы правильно пишите. Я согласен полностью. Я ошибся когда написал «единственная реализация», имея в виду, что еще и ссылок на это класс всего одна или несколько, но все они тут рядышком и ни какой «многоэтажности» даже близко нет в планах. Надо было писать подробнее.
  • Интерфейсы в C#
    –2
    По моему нет. Но вам сейчас расскажут про поддержку кода, работу в команде, библиотеки и прочие интересные, но совершенно не уместные штуки.

    Хотя интерфейс здесь конечно просто просится.
  • Интерфейсы в C#
    –1
    Разве я здесь написал, что интерфейсы не нужны вообще?

    Я уверен, что в вашем проекте, которым сейчас вы занимаетесь (если вы реально программист) найдется не мало классов к которым нет интерфейсов.

    Я выше спросил надо написать интерфейс к HelloWord, но мне не ответили по существу. Да и не ответят. Общий тренд уже задан. Комментариев в поддержку не будет, чтобы минусов не нахватать от вас.
  • Интерфейсы в C#
    –1
    Где тут противоречие с моей статьей? Я пишу, что если все работает без интерфейсов (понимаете, уже работает, все, задача исполнена), то добавив интерфейс вы ни чего не измените и не улучшите. Фантазии на тему «а вдруг потом понадобится» ничего не меняют. Это частный случай, которого может и не быть.
  • Интерфейсы в C#
    –2
    ЛЮДИ!!! Прочитайте текст. Покажите мне где я написал, что интерфейсы не нужны? Вы все ослепли что-ли? Да я сам могу тысячу примеров привести, где они нужны. Я сам использую их в работе. Но утверждать, что ко всякому классу во всех проектах надо цеплять интерфейс (а вдруг пригодится) — это просто странно.
  • Интерфейсы в C#
    –2
    Извините, и что? Я где-то был против этого? И это, поосторожнее, за «На какой черт мне нужен абстрактный класс» здесь могут жестко заминусить те, кто у кого в любимом проекте есть абстрактные классы. Ни кто ж не будет вникать в ваш конкретный случай, как я понял.
  • Интерфейсы в C#
    –1
    Т.е. вы не допускаете, что интерфейс может быть не нужен? Вот если погуглить по «c# Is there always an interface», то окажется, что там, на западе, где и придумали C# вовсе не считают, что интерфейсы надо везде «сувать». А только там и тогда, когда это нужно. Что логично, в общем-то. Я ни разу не сказал, что интерфейсы лишние в любом проекте, но все словно оглохли. Может у вас секта какая-то свидетелей интерфейса? :)
  • Интерфейсы в C#
    –4
    Еще один «не читал, но осуждаю». Прочтите еще раз, а потом удалите свой комментарий, т.к. он не к месту. Устал повторять, но что вы все зациклились на командной работе? Я в последнем абзаце как раз упомянул случай как интерфейсы помогают в таком случае, но статья вообще не о том.
  • Интерфейсы в C#
    –1
    Ну хоть кто-нибудь, прочитайте текст прежде чем что-то отвечать. Где я что предлагал внедрять?
  • Интерфейсы в C#
    –3
    Прочтите еще раз самые первые слова в статье и подумайте для вас это написано или нет. Я вполне допускаю, что вы для себя вопрос интерфейсов давно закрыли, но, так уж жизнь устроена, в программирование постоянно приходят новые люди и они не обязательно заняты на сложных коммерческих проектах. И когда они встречаю интерфейсы в разных примерах, то закономерно хотят понять для чего это, если у них все и так работает. Тот факт, что интерфейсы нужны вовсе не в каждом проекте, как мне кажется, не требует доказательств.
  • Интерфейсы в C#
    –3
    Но он и к сути вопроса не имеет отношения. Совсем не обязательно, что все вокруг построено на сложных проектах с многочисленными зависимостями. Вот тут ниже заминусили мое предложение добавить интерфейс к HelloWord — это потому что придется согласиться со мной?
  • Интерфейсы в C#
    –2
    Вы привели пример командной разработки, что я и говорил.
  • Интерфейсы в C#
    –6
    При чем здесь все это? Добавьте интерфейс к HelloWord'у и покажите всем как лучше будет работать программа, и как я ошибался.
  • Интерфейсы в C#
    –6
    Я понял, вы просто из принципа спорите.

    Я объяснил, что если кроме этого проекта ваш класс нигде больше не существует, то и интерфейс не нужен.
    Так это же неправда.

    Что здесь не так? Расскажите, как добавление интерфейса к работающему проекту из пары классов что-то изменит.

    Статья для тех, кто еще не столкнулся с необходимостью использовать интерфейсы и не может понять зачем они, если все и так работает.
  • Интерфейсы в C#
    –4
    Многие задают вопрос типа «Я пишу проект, зачем мне делать в нем интерфейсы?». Я объяснил, что если кроме этого проекта ваш класс нигде больше не существует, то и интерфейс не нужен. Люди удаляют интерфейс и не видят разницы, а значит, полагают они, интерфейс — это что-то избыточное. Вся статья о том, что это не так. Интерфейсы проявляют себя либо в командных проектах, либо при несколько нестандартном взгляде на них. Как в случае с реализацией двух интерфейсов я показал, что можно получить немножко больше того, что изначально было задумано для исключения неоднозначности.
  • Интерфейсы в C#
    –8
    Похоже, вы прочитали по диагонали и не все поняли, что я имел в виду. Я только со вторым замечанием соглашусь, хотя это не меняет общей сути.