实例说明:
用户管理:添加、删除、查找用户方法一:
定义一个UserInfo的Struct,定义用户的相关属性
定义一个User类,进行 Add、Delete、List方法二:
定义一个User类,有相关的属性与方法 Create、Delete
定义一个UserCollectioin类,List放在这个类中,也有Add、Delete,只是调用User的Add、Delete从设计模式的角度不是不方法二更为合理一些
但是从编辑角度的话个人觉得方法一更好方法一的优点:
  1、简化了一层 Add Delete 
  2、当List(列出所有用户)时,返回 Table,无需每行都实例化一个UserInfo,而UserCollectioin不实例化User就说不过去了 方法一的缺点:
  1、模块间非常独立,程序好像是只是数据库的操作。
    如现在增加一个用户照片,一个用户有多张照片:
    方法一: 再定义一个 Photos、PhotoInfo类
             得到某个用户的照片: Photos.List(UserId)方法
    方法二: 添加 Photo类,PhotoCollectioin类
             在用户User类中添加属性PhotoCollectioin--------------------------------------------------------------------------------------
不知大家在编程上是用什么方法的

解决方案 »

  1.   

    我用的是:Users类:
         属性....
    UsersLib类:
         CRUD(R包括列表和单一对象)-------------------------------------------
    如果需要,再做业务间逻辑
    ----------------------------------
    如果程序比较简单直接就用了
      

  2.   

    我喜欢第二种
    再做一个对UserCollectioin
    进行绑定的控件
    和用
    工具生成一个生成对像实体的工具那真的很不错数据
    实体
    业务
    UI那么这几层就各施其则,不用考虑过程
      

  3.   

    http://www.cnblogs.com/tansm/archive/2005/07/04/185947.html
    看看这个文章
      

  4.   

    第一种情况
    namespace Web
    {
    struct userInfor
    {
    string name;
    string age;
    string sex;
    //其它属性
    ArrayList img;
    }
    public class UserList
    {
    ArrayList userlist;
    public UserList()
    {
    userlist=new ArrayList();
    }
    public void Add(userInfor u)
    {
    }
    public void delete(userInfor u)
    {
    }
    public void list()
    {
    }
    public userInfor findUser(string condition)
    {
    } }
    }
      

  5.   

    namespace Web
    {
    class User 
    {
    string name;
    string age;
    ArrayList img;
    public User()
    {
    img=new ArrayList();
    }
    //.........
    public void Create(string name,string age /*......*/)
    {
    this.name=name;
    this.age=age;
    //.............................
    }
    public void delete(){/*自删*/}
    public void ControlInfor()
    {
    img.Add("image\\pictures");
    name="aaaa";
    }
    }
    class UserCollection
    {
    ArrayList userlist;
    public UserCollection()
    {
    userlist=new ArrayList();
    }
    public void Add(userInfor u)
    {
    //如何通过User类Add呢?
    }
    public void delete(userInfor u)
    {
    }
    public void list()
    {
    }
    public userInfor findUser(string condition)
    {
    }
    public void UpdateUser(User user)
    {
    //查表修改
    } }
    }
    这是我觉得的第二种方法,也许错了,但是我觉得第二种方法是第一中的加强