/// <summary> /// 命令组长去清点女生的人数 /// 最小知识原则推荐我们只和朋友类交流,但是这个方法还拥有 girl 的局部变量,所以还能优化优化。 /// </summary> /// <param name="groupLeader"></param> public void Command(GroupLeader groupLeader) { var girls = new Girl[20]; for (int i = 0; i < 20; i++) { girls[i] = new Girl(); } groupLeader.CountGirls(girls); }
/// <summary> /// 根据最小知识原则优化,只跟朋友类交流 /// 将对 Girl 的初始化移动到了场景类中,然后在 GroupLeader 中增加了 girl 的注入,从而避免了 Teacher 对 Girl 的访问,解耦一点点 /// </summary> /// <param name="groupLeader"></param> public void Command2(GroupLeader groupLeader) { groupLeader.CountGirls2(); }