Can reduce the size of Main by including only the Child Interface, and not the entire Child.
contract Child {
uint i1;
uint i2;
uint i3;
uint i4;
uint i5;
function f1() { i1=1; }
function f2() { i2=2; }
function f3() { i3=3; }
function f4() { i4=4; }
function f5() { i5=5; }
}
contract MainFactory {
Child ch;
function MainFactory() {
ch = new Child();
}
function test() {
ch.f1();
ch.f2();
ch.f3();
ch.f4();
ch.f5();
}
}
This way:
contract ChildInterface {
function f1() {}
function f2() {}
function f3() {}
function f4() {}
function f5() {}
}
contract Main {
ChildInterface ch;
function Main(address child) {
ch=ChildInterface(child);
}
function test() {
ch.f1();
ch.f2();
ch.f3();
ch.f4();
ch.f5();
}
}