美文网首页
在代码中找设计原则

在代码中找设计原则

作者: 王小贱_ww | 来源:发表于2017-07-25 23:13 被阅读20次

1

写代码中不要去想什么SOLID原则 ,正确的做法是在写代码的过程中总结出原则(多写代码)
对于TripManager类,我们只需要让它开始和结束两个动作,不要让这个类过于复杂,过于耦合,不利于扩展,根据力度来分配。结束后,我们还需要上传数据,这个方法就不要放在TripManager中来写了。

2

职责细分,该是谁的就是谁的,单一职责

public class TripTransfer {
//结束时上传和广播有网络的时候上传
    public void uploadData() {
        
    }
}

3

TripTracker典型的外观类,它不用管需要用什么坐标系、数据来源,因为这些都是在子系统中实现的,它只负责实例化和产生结果。

public class GpsTracker {

    private onGpsChangedListener mlistener;
    private boolean mUserGps;
    private boolean mUseNetwork;
    private int type;

    private GpsTracker(Builder builder) {
        type = builder.type;
    }

    public void startLocation() {
        

    }
    .....有省略...........

在startLocation()里,我们需要知道是用百度地图还是高德地图,如果我们在GpsTracker 类中声明了使用百度地图,当需求改变是,我们又要改变这个类,让发生变化交给别人去做,自己这个类尽量不发生变化。在这里我们采用工厂方法。

抽象方法
public abstract class LocationTracker {
    private boolean mUserGps;
    private boolean mUseNetwork;

    public LocationTracker(boolean mUserGps, boolean mUseNetwork) {
        this.mUserGps = mUserGps;
        this.mUseNetwork = mUseNetwork;
    }

    public abstract void startLocation();

    public abstract void stopLocation();

    public interface LocationChangedListener {

        void onLocationChanged(GpsTracker.GpsEntity entity);
    }
}
继承去实现两个方法
public class DefaultLocationTracker extends LocationTracker {

    public DefaultLocationTracker(boolean mUserGps, boolean mUseNetwork) {
        super(mUserGps, mUseNetwork);
    }

    @Override
    public void startLocation() {

    }

    @Override
    public void stopLocation() {

    }
}
 public void startLocation() {
        mTracker = LocationTrackerFactory.newTracker(type);
        mTracker.startLocation();
在factory中去配置
    }

public class LocationTrackerFactory {
    public static LocationTracker newTracker(int type) {
        return null;
    }
}

以上代码中,最能体现出单一原则,一个类负责一件事情
开放封闭原则 里氏替换原则 接口分离原则 依赖倒置原则这四个,别急,慢慢来!!!

相关文章

  • 在代码中找设计原则

    1 写代码中不要去想什么SOLID原则 ,正确的做法是在写代码的过程中总结出原则(多写代码)对于TripManag...

  • 这样学BAT必面之软件设计原则,还不会就是我的问题

    学习设计原则是学习设计模式的基础。在实际开发过程中,并不要求所有代码都遵循设计原则,我们要考虑人力、时间、成本、质...

  • 设计原则

    1.什么是设计原则。    设计原则是我们写出优质代码的指导思想。写代码容易,写好代码难。遵循设计原则,会使我们的...

  • Android 设计模式的6大原则

    此代码为 Android 设计模式学习 涉及到的设计原则有 1 单一职责原则 比如代码中的缓存和图片加载功能就是分...

  • 设计模式原则

    学习设计原则,是学习设计模式的基础。在实际开发过程中,并不是一定要求所有代码都遵循设计原则,我们要考虑人力、时间、...

  • 设计原则

    设计原则 设计模式中的设计原则 封装变化 找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混...

  • 谷歌最佳实践 - 代码审核方法

    来源 代码审核时我们应该审核什么 注意:在考虑下面的原则时,切记要根据《代码审核标准》进行考虑。 设计 代码审核中...

  • 设计原则

    学习设计原则是学习设计模式的基础。在实际开发过程中,并不是一定要求所有代码都遵循设计原 则,我们希望代码在要在适当...

  • 代码设计原则

    1、DRY原则DRY是 Don't repeat yourself 的缩写,意思是"不要重复自己"。它的涵义是,系...

  • Kotlin学历之扩展与委托

    简述 讲到Kotlin中的扩展,不得不说代码的设计原则之一:开闭原则,意思是对扩展开放,对修改关闭。在程序需要进行...

网友评论

      本文标题:在代码中找设计原则

      本文链接:https://www.haomeiwen.com/subject/fcigkxtx.html