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                }            }        }      }}
What is the naming convention for this type of object
naming;naming standards
If they have access to hardware, they can be called DeviceDrivers or Controllers.If they are just wrappers to DDL calls they are Faades or Adapters.