예제 #1
0
        static void Main(string[] args)
        {
            try
            {
                //Iphone phone = new Iphone();
                //Lumia lumia = new Lumia();

                //AbstractPhone phone = new Iphone();
                //AbstractPhone  lumia = new Lumia();
                {
                    // StudentService studentService = new StudentService();//依赖
                    IStudentService studentService = SimpleFactory.CreateService();
                    studentService.Study();
                    //    studentService.PlayPhone(phone);
                }
                {
                    //  IStudentService service = new StudentService(); // 依赖 左边换成抽象

                    //{
                    // IStudentService service = new StudentService(); // 依赖 左边换成抽象
                    //    // 每增加一个phone都要添加不同的play方法
                    //    service.PlayPhone(phone);
                    //    // service.PlayLumia(phone);
                    //    service.PlayLumia(lumia);
                    //}

                    {
                        // 1.加接口没有用
                        // 2. 不方便看代码 细节还是在依赖,依赖 StudentService
                        IStudentService service = SimpleFactory.CreateService(); // 依赖 左边换成抽象
                        AbstractPhone   phone   = SimpleFactory.CreatePhone();
                        service.Play(phone);
                        //   service.Play(lumia);
                        service.Study();
                    }

                    {
                        // 让别人来做, 第三方 封装
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
예제 #2
0
        static void Main(string[] args)
        {
            {
                #region 装饰器模式实现静态AOP
                IUserService userService = SimpleFactory.CreateService <IUserService>("IUserService");
                userService = new DecoratorAOP(userService);
                userService.Register();
                #endregion
            }
            {
                #region 延迟代理模式实现静态AOP
                IUserService userService = new ProxyAOP();
                userService.Register();
                #endregion
            }


            Console.Read();
        }
예제 #3
0
        static void Main(string[] args)
        {
            //底层不catch异常,由上层捕获异常
            try
            {
                //通过配置文件+反射 创建Service
                IDataServices dataServices = SimpleFactory.CreateService();
                #region 查看及更新操作 带数据验证 并输出验证结果

                //查询单条数据
                var userInfo = dataServices.Quary <UserInfo>(1);
                ReflectionHelper.ShowData(userInfo);

                //查询多条数据
                var companies = dataServices.QuaryList <Company>();
                ReflectionHelper.ShowData(companies);

                //*************更新UserInfo****************
                userInfo.Name     = "小新1";
                userInfo.Email    = "*****@*****.**";
                userInfo.Mobile   = "15312122365";
                userInfo.UserType = UserTypes.Admin;
                //验证数据是否合法
                var resultForUserInfoUpdate = DataValidateHelper.Validate(userInfo);
                if (!resultForUserInfoUpdate.IsSuccess)
                {
                    //输出不合法原因,通过Attribute获取错误信息
                    Console.WriteLine(resultForUserInfoUpdate.ResultString);
                    Console.ReadKey();
                }
                else
                {
                    var isSuccess = dataServices.Update(userInfo);

                    if (isSuccess)
                    {
                        var userInfoUpdate = dataServices.Quary <UserInfo>(1);
                        ReflectionHelper.ShowData(userInfoUpdate);
                    }
                }

                //*************更新Company****************
                var company = dataServices.Quary <Company>(2);
                company.Name = "东莞1";
                var resultForCompanyUpdate = DataValidateHelper.Validate(company);
                if (!resultForCompanyUpdate.IsSuccess)
                {
                    //输出不合法原因,通过Attribute获取错误信息
                    Console.WriteLine(resultForCompanyUpdate.ResultString);
                    Console.ReadKey();
                }
                else
                {
                    var isSuccessForCompany = dataServices.Update(company);
                    if (isSuccessForCompany)
                    {
                        var companyUpdate = dataServices.Quary <Company>(2);
                        ReflectionHelper.ShowData(companyUpdate);
                    }
                }
                #endregion
                #region 新增操作
                UserInfo userInfoForInsert = new UserInfo
                {
                    Name           = "cc",
                    Account        = "413423828",
                    Password       = "******",
                    Email          = "*****@*****.**",
                    Mobile         = "1536666888",
                    CompanyId      = 2,
                    CompanyName    = "东莞",
                    Status         = StateTypes.Noraml,
                    UserType       = UserTypes.SuperAdmin,
                    LastLoginTime  = DateTime.Now,
                    CreateTime     = DateTime.Now,
                    CreatorId      = 1,
                    LastModifierId = 2,
                    LastModifyTime = DateTime.Now
                };
                var resultForUserInfoInsert = DataValidateHelper.Validate(userInfoForInsert);
                if (!resultForUserInfoInsert.IsSuccess)
                {
                    Console.WriteLine(resultForUserInfoInsert.ResultString);
                    Console.ReadKey();
                }
                else
                {
                    var insertSuccess = dataServices.Insert(userInfoForInsert);
                    if (insertSuccess)
                    {
                        Console.WriteLine("新增用户成功");
                    }
                }


                Company companyForInsert = new Company
                {
                    //Name = "cc的新公司",
                    CreateTime     = DateTime.Now,
                    CreatorId      = 1,
                    LastModifierId = 2,
                    LastModifyTime = DateTime.Now
                };
                var resultForCompanyInsert = DataValidateHelper.Validate(companyForInsert);
                if (!resultForCompanyInsert.IsSuccess)
                {
                    Console.WriteLine(resultForCompanyInsert.ResultString);
                    Console.ReadKey();
                }
                else
                {
                    var insertSuccessForCompany = dataServices.Insert(companyForInsert);
                    if (insertSuccessForCompany)
                    {
                        Console.WriteLine("新增公司成功");
                    }
                }
                #endregion
                #region  除操作

                var deleteUserInfo           = dataServices.Quary <UserInfo>(2);
                var deleteSuccessForUserInfo = dataServices.Delete(deleteUserInfo);
                if (deleteSuccessForUserInfo)
                {
                    Console.WriteLine("删除用户成功");
                }

                var deleteCompany           = dataServices.Quary <Company>(4);
                var deleteSuccessForCompany = dataServices.Delete(deleteCompany);
                if (deleteSuccessForCompany)
                {
                    Console.WriteLine("删除公司成功");
                }

                #endregion
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            Console.WriteLine();
            Console.ReadKey();
        }
예제 #4
0
 private void Init()
 {
     _userService = SimpleFactory.CreateService <IUserService>("IUserService");
 }