现在有个需求,要把一些功能独立出来成一个服务,尽量通用化
比如说对信息有增加、删除、修改、列表
评论也有增加、删除、’列表等功能
现在想把这些功能整合成一个模块。对外部提供统一的接口。
并且尽量在不影响现有功能的情况下,还要考虑扩展性。
是不是要用的设计模式?
现在用了单例模式,要不要用的抽象工厂?
利用接口?
或许我对通用化理解有点错误?
希望各位指教
谢谢大家
比如说对信息有增加、删除、修改、列表
评论也有增加、删除、’列表等功能
现在想把这些功能整合成一个模块。对外部提供统一的接口。
并且尽量在不影响现有功能的情况下,还要考虑扩展性。
是不是要用的设计模式?
现在用了单例模式,要不要用的抽象工厂?
利用接口?
或许我对通用化理解有点错误?
希望各位指教
谢谢大家
解决方案 »
- jquery ajax get方式返回值最大长度是多少
- 论坛嵌套回复是怎么做的,表结构该如何建立啊?
- 如何实现,在A页面填写了一些数据,然后从A页面跳转到B页面,再从B页面回到A页面,A页面的数据还在
- 动态刷新控件问题
- 这是什么错误?
- DataGrid更新数据困惑!update了后台得数据库,但是DataGrid页面没有更新,非得再次编辑状态按下取消,就见到新根新的数据了 !
- 对在。NET中熟悉怎么用水晶报表的大虾们请近来帮帮忙
- datagrid问题?
- 请高手们谈谈,在基于数据库的文章搜索系统中,怎样保存文章的排版格式?
- 我有一个C#写的类,在aspx中怎样才能调用它?
- 如何获取服务器IP地址
- 挥泪大甩卖!!!
namespace Login
{
public interface ILogin
{
void Login(string _userName, string _passWord);
}
}
namespace Login
{
public class IFactory
{
public static ILogin GetLoginInName(string _loginName)
{
switch (_loginName)
{
case "CommLogin":
return new CommLogin();
case "TopLogin":
return new TopLogin();
default:
return new CommLogin();
}
}
}
}namespace Login
{
public class TopLogin : ILogin
{
public void Login(string _userName, string _passWord)
{
Console.WriteLine("TopLogin");
}
}
}namespace Login
{
public class CommLogin : ILogin
{
public void Login(string _userName, string _passWord)
{
Console.WriteLine("commLogin");
}
}
}namespace Login
{
class Program
{
static void Main(string[] args)
{
ILogin i = IFactory.GetLoginInName("CommLogin");
i.Login("comm","commpass");
ILogin ii = IFactory.GetLoginInName("TopLogin");
ii.Login("top", "toppass");
Console.Read();
}
}
}
你的写法我知道,利用工厂模式。
不知道有没有更好的方法?
谢谢
在数据库操作通过工厂模式构建,实现兼容各种数据库
public static DBOperator Create()
{
return Create("DALClass");
} public static DBOperator Create(string strKey)
{
string str = "UniversalDAL";
string str2 = ConfigurationSettings.AppSettings[strKey];
string typeName = str + "." + str2;
return (DBOperator)Assembly.GetExecutingAssembly().CreateInstance(typeName);
}
public static IaddresslistDAL addresslistDALInstance()
{
string CacheKey = DALFactory._path + ".addresslistDAL";
object objType = DALFactory.GetInstance(CacheKey);
return (IaddresslistDAL)objType;
} public static DBOperator CreateViaName(string strClassName)
{
string typeName = "UniversalDAL." + strClassName;
return (DBOperator)Assembly.GetExecutingAssembly().CreateInstance(typeName);
}
看看petshop或到51aspx.com里很多实例
感觉上面说的都是些基础的。
通用化这方面还是没怎么发展
你说的方法里面利用了反射
如果数据量访问特别大的话,利用反射会不会支撑不住?
我这个功能模块访问量很大的。每天应该有几千万吧