1. C# / Говнокод #6628

    +115

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    ----Something.cs
    public partial class Something
    {
      // some implementation.
    }
    ----Something.Bla.cs
    partial class Something
    {
      private class Bla
      {
      }
    }
    ----Something.Foo.cs
    partial class Something
    {
      private class Foo
      {
      }
    }
    ----Something.Bar.cs
    partial class Something
    {
      private class Bar
      {
      }
    }

    Нормально ли использовать partial классы исключительно для хранения private nested классов? К примеру если количество таковых доходит до 5-15?

    Запостил: walash, 11 Мая 2011

    Комментарии (14) RSS

    • В C# нельзя сделать приватный класс, который будет виден только в текущем пакете/нэймспейсе?
      Если есть, то выносите ваш мегакласс вместе с приватными в отдельный пакет.
      Ответить
      • можно пометить модификатором "internal" чтобы класс был видемым только в пределах одной сборке. А вообще да, nested-классы, особенно в большом кол-ве и особенно приватные - скорее всего признак плохой архитектуры.
        Ответить
    • Если сделать их просто приватными они будут видны другим классам сборки, что судя по всем не устраивает автора. Желание скрыть внутреннюю организацию класса от внешнего мира, даже от других типов, находящихся в той же самой сборке, это параноя или элегантное архитектурное решение?
      Ответить
      • Имхо, это нормально. Для того и придумана инкапсуляция. Разве что при этом проблематично делать юнит-тесты.
        Ответить
      • просто *internal*
        Ответить
      • а тестировать как - лучше тогда уж отдельный пакет
        Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • Я вырулил на трассу, обгоняя школьный жёлтый автобус. Джей сидел в своём телефоне, а я прокручивал в голове слова, которые стоило бы сказать Джейкобу, пытаясь связать их в правдоподобную речь, но всё выходило из рук вон плохо.
      Ответить

    Добавить комментарий