设计模式之工厂模式 factory(一)
2016-05-12 23:41
176 查看
简说
工厂设计模式
解决问题:创建对象时色耦合度问题,用了工厂模式耦合度变低
解决方案:interface , static newInstance
demo: 登录问题 不同的行业 不同的企业需要的登录模式也是不一样的,
下面的是Biz 层,登录接口,登录接口的不同实现类,与工厂类
工厂设计模式
解决问题:创建对象时色耦合度问题,用了工厂模式耦合度变低
解决方案:interface , static newInstance
demo: 登录问题 不同的行业 不同的企业需要的登录模式也是不一样的,
public class LoginActivity { /** * @param args */ public static void main(String[] args) { //直接创建对象 //LoginBizUserPwd loginBizUserPwd=new LoginBizUserPwd(); /loginBizUserPwd.login(""); //软件企业做一个类型软件,在全国很多企业用 //用手机号验证码登录 //扫描二维码登录 //用证书登录 //在工厂设计模式中 //调接口,面向接口编程 //当登录模式发生改变时,只需修改(增加新的实现类)IloginBiz接口的实现类,或者工厂类的返回值, 在loginActivity 中就不需要修改了。 IloginBiz iloginBiz=Factory.newInstance(); iloginBiz.login(""); } }
下面的是Biz 层,登录接口,登录接口的不同实现类,与工厂类
//登录业务的接口,规范了登录方法的参数,返回值类型。 public interface IloginBiz { public boolean login(Object object); } public class Factory { // 静态的方法,新建实例的方法 返回不同的实例 public static IloginBiz newInstance() { //工厂类返回的值不同,在loginActivity 中就会调用接口的不用的实现类的对象, //对象再调用他自己实现的接口的方法 //return new LoginBizUserPwd(); return new LoginBizByMobile(); } } //根据用户名 密码登录的实现类 public class LoginBizUserPwd implements IloginBiz{ public boolean login(Object object) { System.out.println("根据用户名,密码判断能不能登录"); return true; } } //根据手机号登录的实现类 public class LoginBizByMobile implements IloginBiz{ @Override public boolean login(Object object) { System.out.println("根据手机验证码来判断登录是否成功"); return false; } }
相关文章推荐
- 杂记_比赛的一些记录
- MVC bundle(包扎)CSS或是JS文件
- sql中limit和汇总函数的集合使用
- D. Bear and Two Paths(贪心构造)
- solr入门之环境搭建-tomcat服务发布(单机版)
- 源代码下载 作者:王先荣(Xianrong Wang)
- RFID Hacking③:使用ProxMark3嗅探银行闪付卡信息
- JNI 常用函数
- DayDayUP_Python自学记录[15]_python execl 读写进阶
- mysql 行锁
- 使用Python管理Azure(1):基础配置
- linux安装并配置SVN指南
- map容器的一些方法说明
- 【Qt】标准字体对话类
- Spring JMS——MessageConverter介绍
- Xcode断点调试变量都变成nil
- web前端教程:使用javascript实现多级联动效果
- Netty系列之一开始使用
- 实验8 SQLite数据库操作
- Java小数点位数保留问题