Re: Factory pattern for classes

2020-08-10 Thread lexxn via Digitalmars-d-learn
On Sunday, 9 August 2020 at 15:56:31 UTC, Ali Çehreli wrote: On 8/9/20 7:27 AM, lexxn wrote: I getClassById(uint id) { if (id == 0) { return cast(A)Object.factory("deneme.A"); } else if(id == 1) { return cast(B)Object.factory("deneme.B"); } else { return cast(

Re: Factory pattern for classes

2020-08-09 Thread lexxn via Digitalmars-d-learn
On Sunday, 9 August 2020 at 15:56:31 UTC, Ali Çehreli wrote: On 8/9/20 7:27 AM, lexxn wrote: module deneme; import std.stdio; interface I { void methodName(); } class A : I { void methodName() { writeln("A"); } } class B : I { void methodName() { writeln("B"); } } class C

Re: Factory pattern for classes

2020-08-09 Thread lexxn via Digitalmars-d-learn
On Sunday, 9 August 2020 at 12:24:05 UTC, Steven Schveighoffer wrote: If you know what your class is going to be, I'd just import the file that contains it and avoid the whole Object.factory deal. It's going to go away anyways. Not sure if it's a good idea in my case. I'm going to be using

Re: Factory pattern for classes

2020-08-09 Thread lexxn via Digitalmars-d-learn
On Sunday, 9 August 2020 at 12:24:05 UTC, Steven Schveighoffer wrote: On 8/9/20 5:16 AM, lexxn wrote: I'm trying to get the factory pattern going with classes class A {} class B {} class C {} auto getClassById(uint id) {     if (id == 0) {     return cast(A)Object.factory("A");     } e

Factory pattern for classes

2020-08-09 Thread lexxn via Digitalmars-d-learn
I'm trying to get the factory pattern going with classes class A {} class B {} class C {} auto getClassById(uint id) { if (id == 0) { return cast(A)Object.factory("A"); } else if(id == 1) { return cast(B)Object.factory("B"); } else { return cast(C)Object.fact