-1

I have frequent "access" classes that implement interfaces / abstract classes.

These classes all have different classes/ dlls to execute the implemented method.

What naming convent is commonly used to mark these Interface / Access classes for a package/namespace?

as example:

namespace Kitchen
{
    interface IAppliance
    {
        void Use();
    }
    namespace Kitchen.Microwaves
    {
        abstract class Microwave : IAppliance
        {
            abstract public void Use();
            public bool CanCook()
            {
                return true;
            }
        }
    }   
    namespace Kitchen.Microwaves.Cooker6000
    {
        class Cooker6000 : Microwave
        {
            override public void Use()
            {
                //call some dll
            }
        }
    }

    namespace Kitchen.Microwaves.Waveblaster
    {
        class WaveBlaster : Microwave
        {
            public override void Use()
            {
                //DllHandler.StartBlasting();
            }
            private static class DllHandler
            {
                public static void StartBlasting()
                {
                    //do something
                    //call dll
                }
            }
        }  
    }
}
  • Class names shouldn't be verbs to begin with. – Tulains Córdova Aug 3 '16 at 14:20
  • @TulainsCórdova I know, this is just an example to make my point. – Git Aug 3 '16 at 14:48
  • I think the name you are after is "Driver". – Tulains Córdova Aug 3 '16 at 14:50
  • @TulainsCórdova Can you put that in an answer? – Git Aug 3 '16 at 14:51
  • Are AccessWaveBlaster6000, AccessMicroChef etc methods of Microwave or are they classes? Would you please use normal language notarion instead of nested bullet listes? – Tulains Córdova Aug 3 '16 at 14:54
0
  • If they have access to hardware, they can be called "DeviceDrivers" or "Controllers".
  • If they are just wrappers to DDL calls they are "Façades" or "Adapters".

Not the answer you're looking for? Browse other questions tagged or ask your own question.