Android的开发之&java23中设计模式------>抽象工厂模式

本文介绍抽象工厂模式的概念及其在实际项目中的应用。通过一个发送消息的例子,展示了如何使用抽象工厂模式来创建不同类型的发送者对象,如邮件发送者和短信发送者。这种模式允许在不修改现有代码的情况下轻松扩展新的发送方式。
抽象工厂
   抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。
抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。根据里氏替换原则,任何接受父类型的地方,都应当能够接受子类型。
因此,实际上系统所需要的,仅仅是类型与这些抽象产品角色相同的一些实例,而不是这些抽象产品的实例。

public class AbstractFactoryActivity extends AppCompatActivity {
    private String str;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_abstract_factory);
        //抽象工厂模式
        Provider provider=new SendMailFactory();
        Sender sender3=provider.produce();
        str=sender3.Send();
        Toast.makeText(AbstractFactoryActivity.this,str, Toast.LENGTH_SHORT).show();
    }
}
public interface Provider {
    Sender produce();
}
public class SendMailFactory implements Provider {
    @Override
    public Sender produce() {
        return new MailSender();
    }
}
public class SendSmsFactory implements Provider {
    @Override
    public Sender produce() {
        return new SmsSender();
    }
}
抽象工厂模式的好处:
如果你现在想增加一个功能:发及时信息,则只需做一个实现类,实现Sender接口,同时做一个工厂类,实现Provider接口,
就OK了,无需去改动现成的代码。这样做,拓展性较好!

github地址:https://github.com/zyj18410105150/DesignMode

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值