新手刚学了简单工厂和抽象工厂,写几句体会
-----------------------------------------------------
现实项目是个空间,里面装着很多程序集。
程序集也是个空间,里面装着很多类型。接口或抽象类都在里面,实现类或子类也都在里面。
反射提供了最好的、去耦合方式的、动态的、空间层次和空间内容以至于所有细节的遍历方式。它让所有的类型和元素都可以封装为变量。
泛型也封装了类型,提供了很好的参数化方式。
用参数切换程序集,可以切换实现类或子类。用参数在程序集内切换类型,也可以切换实现类或子类。这样接口或抽象类做为出口就可以封装不同角度的多态。
设计是空间管理的艺术。通过不同层次的空间,在对称的命名约定的基础上,去分类容纳不同的实体,实现多角度控制的实体分隔管理。
切换接口或抽象类,自然是带来不同的实现类或子类,但这不是工厂的含义。对象是一个还是一堆,也不是问题的本质。
不罗列代码了。只要写出来就会变得很实,还是让想法以虚的方式存在吧,以对应抽象。