Mejor explico la pregunta con un ejemplo. Tengo Interfaz Modelo que se puede utilizar para acceder a los datos. Puede haber diferentes implementaciones de Modelo que pueden representar los datos en varios formatos, por ejemplo, formato XMl, txt, etc. El modelo no se ocupa de los formatos. Digamos que una de esas implementaciones es myxmlModel.Force Singleton Pattern en una clase que implementa una interfaz
ahora quiero forzar myxmlModel y todos los demás implementación de Modelo seguir Singleton patrón .La forma habitual es hacer myxmlModels constructor privado y proporcionar un método de fábrica estática para devolver una instancia de myModel class.Pero el problema es interfaz no puede tener definiciones de métodos estáticos y un resultado no puedo aplicar una determinada definición de método de fábrica en todas las implementaciones de modelo. Por lo tanto, una implementación puede finalizar con getObject() y otra puede tener NewModel()..
Una solución es permitir el acceso al paquete de constructor de myxmlModel y crear una clase de fábrica que crea el myxmlModel objeto y almacenar en caché para su uso posterior.
Me preguntaba si hay una mejor manera de lograr la misma funcionalidad.
Probé que la clase .Abstract no funcionará – Duleb
El polimorfismo no funcionará en el caso de un método estático. Vea si tiene un método estático en la clase abstracta y lo reemplaza en la subclase; luego, si intenta acceder a ese método, se llamará al original, no al método de la subclase. – Duleb
Ahhh, por supuesto, lo siento. – Steven