.net各种设计模式及应用场景
本文章只做各种设计模式应用场景的记录,不提供相关代码及demo,只为方便在工作中遇到相关场景是能方便查阅,如果需要相关代码可以私信!
以下内容均为个人见解,部分内容摘自网上,如有不当之处还请给予指正、相互交流
<<<<<<<<<<<<<<<<<<这是华丽的分割线>>>>>>>>>>>>>>>>>>>>>>>>
一,桥接模式:
将抽象化与实现化脱耦,使二者可独立的变化。常应用在多维度上都会有变化或扩充的需求项目中,如:遥控器在各种电视品牌中变化及扩展;游戏中角色的属性在不同操作系统中的变化等
二,单例模式:
保证整个进程中该对象只被实例化一次,会常驻内存
异步多线程的时候需要注意使用锁(推荐双if+lock判断)
如果这个类实例化很耗时间或使用了很多资源。或者在程序中只该出现一次的时候的类可以考虑使用,如资源池,线程池
三,原型模式
使用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象
使用场景:
资源优化场景
类初始化需要消化非常多的资源,这个资源包括数据、硬件资源等。
性能和安全要求
通过 new 产生一个对象需要非常繁琐的数据准备或访问权限,则可以使用原型模式。
一个对象多个修改者的场景。
一个对象需要提供给其他对象访问,而且各个调用者可能都需要修改其值时,可以考虑使用原型模式拷贝多个对象供调用者使用。
未完待续.....
浙公网安备 33010602011771号