首页 > 网站 > WEB开发 > 正文

js享元模式简单案例

2024-04-27 15:09:05
字体:
来源:转载
供稿:网友
    <script>        var Model = function( sex ){           this.sex = sex;        };                Model.PRototype.takePhone = function(){           console.log( "sex = " + this.sex + " " + "underwear = " + this.underwear );        };                //分别创建一个男模特和一个女模特        var maleModel = new Model( "male" );        var femaleModel = new Model( "female" );        //给男模特依次穿上所有的男装,并进行拍照        for( var i = 0; i < 50; ){           maleModel.underwear = ++i;           maleModel.takePhone();        }        //同样,给女模特穿上所有的女装,并进行拍照        for( var i = 0; i < 50; ){          femaleModel.underwear = ++i;          femaleModel.takePhone();        }        //可以看到,改进之后的代码,只需要两个对象便完成了同样的功能     </script>
     
<h1>内部状态与外部状态</h1>
<p>以上的例子便是享元模式的雏形,享元模式要求将对象的属性划分为内部状态与外部状态。</p>
<p>享元模式的目标是尽量减少共享对象的数量,关于如何划分内部状态和外部状态,下面的几条经验提供了一些指引。</p>
<p>1.内部状态存储于对象内部;2.内部状态可以被一些对象共享;3. 内部状态独立于具体的场景,通常不会改变;4.外部场景取决于具体的具体的场景,并且根据场景而变化,外部状态不能被共享。</p>

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表